winform中坐标系转换

 时间:2026-02-14 17:51:01

1、首先小编这里创建一个winform程序,然后实现点击程序中的按钮,获取按钮的左上角坐标以及按钮左上角相对于屏幕来说左上角的坐标,如下图:

winform中坐标系转换

2、下图中是点击按钮的事件实现代码,对重要代码做出一些解释:

Point p=new Point(0,0);

这里创建一个坐标为(0,0)的点作为屏幕左上角的起始点

p=this.button1.PointToScreen(p);

这里使用Control的PointToScreen方法,将空间的坐标转化为相对于屏幕的坐标,如下图:

winform中坐标系转换

3、运行程序,点击按钮,可以看到鼠标左上角的坐标相对于程序为(62,76),如下图:

winform中坐标系转换

4、然后获取到的按钮左上角相对于屏幕的坐标为(828,480),成功将控件坐标转化到了屏幕坐标系下,如下图:

winform中坐标系转换

1、这里小编还是创建一个winform程序,然后实现点击鼠标按钮然后先获取屏幕中光标位置,然后将光标位置转化为相对程序的坐标,然后就可以判断光标位置是否在按钮中了,如下图:

winform中坐标系转换

2、下图中的代码就是按钮点击事件的具体实现,对其中重要的代码做出解释,

Point p = Control.MousePosition;

这里通过Control的MousePosition方法来获取当前光标相对于屏幕的绝对坐标

p = this.PointToClient(p);

这里使用Control的PointToClient方法,将当前光标的绝对坐标转化为相对于窗口的相对坐标

如下图:

winform中坐标系转换

3、运行程序,点击按钮,首先弹出当前光标的绝对坐标的对话框,如下图:

winform中坐标系转换

4、然后程序会自动转换绝对坐标为当前窗口的相对坐标,可以看到当前的相对坐标为171,131,然后当前按钮的四个边界坐标也有值,然后就可以判断当前光标是否在按钮中了,因为我们使用的点击按钮事件来获取光标值,所以光标肯定在按钮边界中,如下图:

winform中坐标系转换

  • Flexsim软件教程:[12]怎么使用AVI制作器?
  • 视觉图像:模板匹配二
  • WPS Word 如何开启居中对齐时自动删除段落缩进
  • cajviewer目录关掉了如何显示出来?
  • 毕业设计所使用的方法
  • 热门搜索
    疯狂旅游团台词 广州从化旅游 宁波旅游地图 西部旅游攻略 赵县旅游 怀化旅游网 黄冈旅游网 海南岛旅游图片 安康旅游景点介绍 长崎旅游