【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);

 

https://www.cnblogs.com/bridgew/p/16138048.html

posted @ 2023-01-28 10:24  不溯流光  阅读(1068)  评论(0编辑  收藏  举报