【发布时间】:2014-04-25 20:14:08
【问题描述】:
我正在编写一个需要以编程方式移动光标的应用程序。我试过写:
Cursor.Position = new Point(50, 50);
但它不起作用。我正在用 C# 编写一个 Windows 窗体应用程序。
我希望有人可以帮助我:) 在此先感谢:)
【问题讨论】:
标签: c# forms position cursor move
我正在编写一个需要以编程方式移动光标的应用程序。我试过写:
Cursor.Position = new Point(50, 50);
但它不起作用。我正在用 C# 编写一个 Windows 窗体应用程序。
我希望有人可以帮助我:) 在此先感谢:)
【问题讨论】:
标签: c# forms position cursor move
假设您想要通过按钮单击:
首先添加 InteropServices 命名空间:
using System.Runtime.InteropServices;
然后创建你的按钮点击事件
[DllImport("User32.Dll")]
public static extern long SetCursorPos(int x, int y);
private void button1_Click(object sender, EventArgs e)
{
SetCursorPos(50,50);
}
看看这个:
[https://stackoverflow.com/questions/647236/moving-mouse-cursor-programmatically][1]
【讨论】:
将一个按钮拖到表单上并双击。
那么你应该得到一个代码。
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Cursor.Position = new Point(50, 50);
}
}
}
一旦您单击按钮,功能 - button1_Click 就会触发并移动您的光标。 也许在这里写下你想要做什么,我怀疑你需要一个循环
也
这可能对你的努力有所帮助。
Cursor.Position =
new Point(Form1.MousePosition.X + 50, Form1.MousePosition.Y + 50);
Form1.MousePosition 是鼠标在窗体上的当前位置。
所以上面的代码会将鼠标从当前位置向右移动 50 个单位,向下移动 50 个单位。
还有一个 form1_load 事件,双击表单并使用它。
【讨论】: