Control.PointToScreen(Point p)&&Control.PointToClient(Point p)

来源:互联网 发布:广发证券软件下载 编辑:程序博客网 时间:2024/05/29 10:10

1.Control.PointToScreen(Point p)

  将指定工作区点的位置计算成屏幕坐标。

命名空间:  System.Windows.Forms
程序集:  System.Windows.Forms(在 System.Windows.Forms.dll 中)

参数

p
类型:System.Drawing..::.Point

要转换的工作区坐标 Point。

返回值

类型:System.Drawing..::.Point

一个 Point,它表示转换后的 Point、p(以屏幕坐标表示)。

2.Control.PointToClient(Point p)

将指定屏幕点的位置计算成工作区坐标。

命名空间:  System.Windows.Forms
程序集:  System.Windows.Forms(在 System.Windows.Forms.dll 中)

参数

p
类型:System.Drawing..::.Point

要转换的屏幕坐标 Point。

返回值

类型:System.Drawing..::.Point

一个 Point,它表示转换后的 Point、p(以工作区坐标表示)。

3.注意:这两个函数的前面都有Control,

这表示这是以那个控件的位置作为基准(绝大多数我们需要窗体的

工作区最为基准);但是我们也可以让窗体上的任何一个控件作为基准


            System.Drawing.Point mousePosition = System.Windows.Forms.Control.MousePosition;            label2.Text = "鼠标相对于屏幕的位置:" + mousePosition.ToString();            label3.Text = "鼠标相对于参照物的位置:" + button1.PointToClient(mousePosition).ToString();//以按钮为基准            label4.Text = "鼠标相对于工作区的位置:" + this.PointToClient(mousePosition).ToString();//以窗体的工作区            label5.Text = "鼠标相对于屏幕的位置(经参照物转换):" +button1.PointToScreen(button1.PointToClient(mousePosition)).ToString();            label6.Text = "鼠标相对于屏幕的位置(经参照物转换):" + this.PointToScreen(this.PointToClient(mousePosition)).ToString();

这样也是可以的!!!


其中蓝色是窗体的控制区域,黄色是窗体的工作区,其余白色和窗体背后的都是屏幕!


0 0
原创粉丝点击