c#.net获取鼠标在当前控件的坐标并显示
开发过程中遇到获取鼠标坐标的问题,查找资料后发现很多方法要么不适用,要么就根本不是解决方案。
现在将我解决本问题的思路及解决方案写下来,给大家提供一种解决自己面对的类似问题的方法。
基本情况介绍:
- IDE:vs2015;
- 语言:C#.NET;
- 功能:获取鼠标相对于目标控件的坐标,并在状态栏中显示;
- 实现:e.Location.X.ToString();
解决思路:
对于这个问题我一开始也是在论坛相似情况及解决方法,但是试过之后都无法解决我的问题。之后我想到之前做过的一项工作。当时我是配置VTK+VS+QT的开发环境,之后有一个测试例程,在那个例程中就有这么一个功能,当你鼠标移到图片显示区域时,会在左下角的状态栏中显示当前鼠标位置的坐标,当然这个坐标是显示图片控件内的坐标。
做学问吗,我们就要学会触类旁通,对于现今百花齐放的编程语言世界,我们就算不能所有语言都掌握,但我们要了解其内在的联系及逻辑关系。
所以,针对我的这种情况,我回顾当时实现方法,找到解决方案如下:
private void PictureBox_Map_MouseMove(object sender, MouseEventArgs e)
{
StatusLabel_x.Text ="X:" +e.Location.X.ToString();
StatusLabel_y.Text ="Y:" + e.Location.Y.ToString();
}
PictureBox_Map:是我定义的picturebox控件的name;
MouseMove:是鼠标移过组件时触发事件;
这样,当鼠标光标在控件区域内时,就会执行该事件下定义的动作。
之后就是获取鼠标位置并显示了:
e.Location.X、 e.Location.Y:获取鼠标在产生鼠标事件时的位置坐标;
StatusLabel_x 、StatusLabel_y:是我定义的状态栏2个显示坐标的lable控件
下面就是实现结果:
END