广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    winform中坐标系转换

    来源:网络收集  点击:  时间:2024-03-01
    【导读】:
    在使用winform进行编程的时候,我们有的时候会遇到需要读取鼠标位置或者判断鼠标位置以及控件位置的情况,今天小编教大家使用一些小方法来实现读取鼠标位置以及控件位置,甚至判断鼠标位置是否在控件位置中等。工具/原料more电脑一台Visual Studio 2017程序坐标系转为屏幕坐标系1/4分步阅读

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

    2/4

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

    Point p=new Point(0,0);

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

    p=this.button1.PointToScreen(p);

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

    3/4

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

    4/4

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

    屏幕坐标系转换为程序坐标系1/4

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

    2/4

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

    Point p = Control.MousePosition;

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

    p = this.PointToClient(p);

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

    如下图:

    3/4

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

    4/4

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

    注意事项

    个人观点,仅供参考。

    感谢阅读。

    WINFORM屏幕坐标系程序坐标系获取坐标教程
    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_187713.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-06 21:57:14  耗时:0.035
    0.0348s