0

好的,所以我想做的是,当鼠标按下时,我希望它连续按下一个键。它应该不断地按下这个键,直到我松开。

想象一下,如果你愿意的话,一个窗口窗体上的左右按钮,然后通过单击并按住右键,字母“R”会连续显示在文本框上,直到你释放按钮。我正在做的事情与这种情况几乎没有关系,但你会得到我在这里想要做的事情。

我到底在鼠标中放了什么来保持 sendkeys 在不锁定应用程序的情况下永远运行?

我希望我的问题是有道理的。哈哈。

谢谢

逆转录

private void pictureBoxKeyboard_MouseDown(object sender, MouseEventArgs e)
{
//something goes here
}
4

1 回答 1

1

这值得一读……

http://msdn.microsoft.com/en-us/library/ms171548.aspx

SendKeys.Send("r")

这可能只触发一次,您可能想要附加一个在 MouseDown 事件上启动并在 MouseUp 事件上停止的计时器。然后您可以将 SendKeys 放入 Timer.Tick 事件中。

    private void Form1_Load(object sender, EventArgs e)
    {
        this.timer1.Interval = 500;
    }

    private void button1_MouseUp(object sender, MouseEventArgs  e) 
    {
        timer1.Stop();
        this.Text = "moose-Up";
    }

    private void button1_MouseDown(object sender, EventArgs e)
    {
        timer1.Start();
        this.Text = "moose-Down";
        this.richTextBox1.Select();
    }

    private void timer1_Tick(object sender, EventArgs e)
    {
        SendKeys.Send("r");
        Debug.Print("tickling");
    }

选择您希望接收 SendKeys 值的控件...

于 2013-02-22T07:01:57.800 回答