【Winform】窗体的坐标体系
一、Winform 中的坐标系
(1)第一类是屏幕坐标系,以显示屏左上角为(0,0)点的坐标。
(2)第二类是窗体坐标系,以winform窗体左上角为(0,0)点。
(3)第三类是窗体控件坐标系,以该控件的左上角为(0,0)点。
以上三类的坐标原点都是其左上角(屏幕左上角、窗体左上角、控件左上角)
从上图看,对于窗体的起始位置,可以利用窗体的Top和Left属性设置,也可以用窗体的Location属性,代码如下:
F1.Top = 300;
F1.Left = 200;
上面两行代码便将F1的起始位置设置为(300, 200),即距离屏幕顶部300像素,距离屏幕左边200像素。
注意:
(1)Bottom属性是下端与顶部的距离,而不是与底部的距离。
(2)窗体控件的位置是相对父窗口而言的。
二、控件的各种坐标获取
(1)Control.MousePosition可以获取鼠标光标的位置(以屏幕坐标表示);
(2)Ctrlxx.Location获取或设置该控件的左上角相对于其容器的左上角的坐标。
当在触发事件中获取控件坐标时:
Point m_LastLabelPoint = (sender as Label).Location;
(3)有时候使用控件的屏幕坐标更方便计算,但控件只能获取控件相对容器的坐标,可以将控件坐标换算成屏幕坐标:
Point m_panelPoint = PointToScreen((sender as Panel).Location);
/*******相与枕藉乎舟中,不知东方之既白*******/
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战