本文主要是介绍C# 获取鼠标相对当前窗口坐标的方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
编写客户端应用程序时,经常要用到鼠标当前的位置。
在C#的winform开发中,可以用Control.MousePosition获得当前鼠标的坐标,使用PointToClient计算鼠标相对于某个控件的坐标。
示例如下:
Point screenPoint = Control.MousePosition;//鼠标相对于屏幕左上角的坐标
Point formPoint = this.PointToClient(Control.MousePosition);//鼠标相对于窗体左上角的坐标
Point contextMenuPoint = contextMenuStrip1.PointToClient(Control.MousePosition); //鼠标相对于contextMenuStrip1左上角的坐标
附,c#获取鼠标坐标
很多时候,需要用到鼠标在相对于窗体上的坐标,或相对于屏幕的坐标。
用Control.MousePosition获得当前鼠标的坐标CurrentPoint,使用Control.PointToClient方法,前面获得的CurrentPoint作为其参数,返回的Point类型的对象即为鼠标相对于某个控件的坐标。
以鼠标相对于窗体的坐标做为例子,如下:
Point screenPoint = Control.MousePosition;//鼠标相对于屏幕左上角的坐标
Point formPoint = this.PointToClient(Control.MousePosition);//鼠标相对于窗体左上角的坐标
同理:
Point button1Point= button1Point.PointToClient(Control.MousePosition); //鼠标相对于button1左上角的坐标
另外,还有Control.PointToScreen方法,返回相对于屏幕的坐标。有兴趣的朋友,可以深入研究下。
private void button_Scroll_MouseLeave(object sender, EventArgs e)//鼠标离开模拟滚动条按钮移动
{
EnableMoveScroll = false;
MouseStatusEvent("离开");
Point screenPoint = Control.MousePosition;//鼠标相对于屏幕左上角的坐标
Point formPoint = this.PointToClient(screenPoint);//鼠标相对于窗体左上角的坐标
button_Scroll.Location = formPoint;
}
这篇关于C# 获取鼠标相对当前窗口坐标的方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!