【发布时间】:2010-07-29 13:12:07
【问题描述】:
我有一个图形应用程序,我可以在其中用鼠标移动图形对象。
在某些情况下,对象会停止移动。然后我也需要停止移动鼠标光标。
有可能吗? MousePosition 属性似乎在 ReadOnly 中。
例如。
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
if (e.X > 100)
{
Cursor.Position = new Point(100, Cursor.Position.Y);
}
}
}
EDIT,第二个版本,工作,但光标不是“稳定” - 闪烁:
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
if (e.X > 100)
{
Point mousePosition = this.PointToClient(Cursor.Position);
mousePosition.X = 100;
Point newScreenPosition = this.PointToScreen(mousePosition);
Cursor.Position = newScreenPosition;
}
}
【问题讨论】:
-
您可以用一个对 ClipCursor 的调用来替换此代码,其中矩形是
{0, 0, 100, Form.Height}(显然是从客户端坐标转换为屏幕坐标)。