解决C#获取鼠标相对当前窗口坐标的实现方法
在我们编写客户端应用程序时,经常要用到鼠标当前的位置。在C#winform中,可以用Control.MousePosition获得当前鼠标的坐标,使用PointToClient计算鼠标相对于某个控件的坐标,如下
Point screenPoint = Control.MousePosition;//鼠标相对于屏幕左上角的坐标
Point formPoint = this.PointToClient(Control.MousePosition);//鼠标相对于窗体左上角的坐标
Point contextMenuPoint = contextMenuStrip1.PointToClient(Control.MousePosition); //鼠标相对于contextMenuStrip1左上角的坐标
相关推荐
-
C#实现计算一个点围绕另一个点旋转指定弧度后坐标值的方法
本文实例讲述了C#实现计算一个点围绕另一个点旋转指定弧度后坐标值的方法.分享给大家供大家参考.具体如下: 1.示例图 P(x1,y1)以点A(a,b)为圆心,旋转弧度为θ,求旋转后点Q(x2,y2)的坐标 2.实现方法 先将坐标平移,计算点(x1-a,y1-b)围绕原点旋转后的坐标,再将坐标轴平移到原状态 /// <summary> /// 结构:表示一个点 /// </summary> struct Point { //横.纵坐标 public double x, y; //构造
-
C#实现鼠标移动到曲线图上显示值的方法
本文实例讲述了C#实现鼠标移动到曲线图上显示值的方法.分享给大家供大家参考.具体实现方法如下: 一.问题: 完成折线图报表后,产品经理要求把折线上的数值去掉,鼠标经过折线点时显示数值. 二.实现方法: 该方法针对dotnetcharting 下的charting折线图报表使用. 实现思路为,在该窗体上添加一个lable标签,当鼠标经过折线点时获取该点的x轴,y轴值和鼠标坐标值.然后将lable的坐标标记为鼠标所在坐标,并且给lable赋值,并且将lable显示出来. 具体实现代码如下: 复制
-
C#实现随鼠标移动窗体实例
本文实例讲述了c#实现随鼠标移动窗体的方法,分享给大家供大家参考. 具体实现方法如下: private void MainForm_Load(object sender, EventArgs e) { //绑定事件 MouseMove += Form_MouseMove; MouseDown += Form_MouseDown; } private Point _mousePoint; private void Form_MouseMove(object sender, MouseEventAr
-
C#简单获取屏幕鼠标坐标点颜色方法介绍
api函数: 复制代码 代码如下: 1.[DllImport("user32.dll")]//取设备场景 2.private static extern IntPtr GetDC(IntPtr hwnd);//返回设备场景句柄 3.[DllImport("gdi32.dll")]//取指定点颜色 4.private static extern int GetPixel(IntPtr hdc, Point p); 主要方法: 复制代码 代码如下: Timer tim
-
C#中winform实现自动触发鼠标、键盘事件的方法
程序触发鼠标.键盘事件是C#程序设计中比较常见的功能,本文实例展示了C#中winform实现自动触发鼠标.键盘事件的方法,有不错的实用价值.具体如下: 要想在C#程序中触发鼠标.键盘事件就必须要调用windows函数. 一.鼠标事件的触发 1.引用windows函数mouse_event /// <summary> /// 鼠标事件 /// </summary> /// <param name="flags">事件类型</param> /
-
C#简单获取全屏中鼠标焦点位置坐标的方法示例
本文实例讲述了C#简单获取全屏中鼠标焦点位置坐标的方法.分享给大家供大家参考,具体如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Drawing; using System.Threading; namespace ConsoleApplication1 { class Program { static void Main(string[]
-
c#封装百度web服务geocoding api 、百度坐标转换示例
1.创建基础参数类 复制代码 代码如下: public static class BaiduConstParams { public const string PlaceApIv2Search = "http://api.map.baidu.com/place/v2/search"; public const string PlaceApIv2Detail = "http://api.map.baidu.com/place/v2/detail
-
c#求点到直线的投影点坐标
点在指定直线的投影点,即过点作一垂直于指定直线的直线,与指定直线的交点即为所求.这个问题其实回归到两条垂直直线的交点问题,回到最原始的初中几何知识,复习下如图示 首先我们明确下已知条件,指定直线上任一点A,直线斜率k,点C,求点B 说到斜率,就有不存在的情况,如图(2),显然这种情况B的横坐标=A的横坐标,B的纵坐标=C的纵坐标本文重点讨论第一种情况,其实也很简单,联立两条直线求解即可 直线AB方程式即y-yA=k*(x-xA)∵两条垂直直线的斜率乘积 = -1∴由AB线斜率为k可知BC线斜率为
-
C# WinForm中Panel实现用鼠标操作滚动条的实例方法
方法如下:在窗体的Load事件注册滚动事件,并增加对应的方法 复制代码 代码如下: private void FormSample_Load(object sender, EventArgs e) { //注册事件 this.MouseWheel += new MouseEventHandler(FormSample_MouseWheel); } /// <summary> /// 滚动方法 /// </sum
-
C#实现的鼠标钩子
C#实现的鼠标钩子,可以获取鼠标在屏幕中的坐标,记得要以管理员权限运行才行 复制代码 代码如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Reflection; using System.Runtime.InteropServices; u
-
浅析c#中如何在form的webbrowser控件中获得鼠标坐标
如图这样,其实是要插入一个time的控件,这样才能使得坐标值会根据鼠标的移动而不停变化.time插件中写 复制代码 代码如下: private void timer1_Tick(object sender, EventArgs e) { if (webBrowser1.Bounds.Contains(this.PointToClient(Cursor.Position))) { this.toolStripStatusLabel1.Tex
随机推荐
- jquery live()重复绑定的解决方法介绍
- angular指令笔记ng-options的使用方法
- js的表单操作 简单计算器
- 使用Enumeration和Iterator遍历集合类详解
- ThinkPHP3.1.x修改成功与失败跳转页面的方法
- Python正则表达式如何进行字符串替换实例
- 浅析Java中的访问控制权限
- Android唤醒、解锁屏幕代码实例
- BootStrap Fileinput的使用教程
- js修改table中Td的值(定义td的双击事件)
- js禁止页面刷新禁止用F5键刷新禁止右键的示例代码
- systemer.exe-B001.exe,B002.exe,cx.exe专杀 软件
- python处理按钮消息的实例详解
- jquery实现下拉菜单的手风琴效果
- 详解Linux批量更改文件后缀名
- Win2003 防火墙导致Serv-U FTP不能正常登录的解决方法(FEAT 211-Extension supported CLNT)
- 基于mysql的论坛(2)
- ThinkPHP静态缓存简单配置和使用方法详解
- SpringBoot文件上传控制及Java 获取和判断文件头信息
- spring cloud将spring boot服务注册到Eureka Server上的方法