【问题标题】:How to move cursor in windows form application?如何在 Windows 窗体应用程序中移动光标?
【发布时间】:2014-04-25 20:14:08
【问题描述】:

我正在编写一个需要以编程方式移动光标的应用程序。我试过写:

Cursor.Position = new Point(50, 50);

但它不起作用。我正在用 C# 编写一个 Windows 窗体应用程序。

我希望有人可以帮助我:) 在此先感谢:)

【问题讨论】:

    标签: c# forms position cursor move


    【解决方案1】:

    假设您想要通过按钮单击:

    首先添加 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]

    【讨论】:

    • 对不起,但这似乎也不起作用:/...但感谢您的尝试:)
    • 您是否将按钮点击分配给此功能?双击按钮的单击事件并选择 button1_Click 函数或创建事件委托来触发它。
    【解决方案2】:

    将一个按钮拖到表单上并双击。

    那么你应该得到一个代码。

    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 事件,双击表单并使用它。

    【讨论】:

    • 那也行不通。鼠标不动。我只想移动鼠标光标:)
    猜你喜欢
    • 1970-01-01
    • 2011-10-08
    • 2011-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多