0

さて、私がやりたいことは、マウスが押されたときにキーを押し続けたいということです。離すまでこのキーを押し続ける必要があります。

Windowsフォームの左右のボタンをクリックして押したままにすると、ボタンを離すまで文字「R」がテキストボックスに表示され続けると想像してみてください。私がやっていることは、そのシナリオとはほとんど関係ありませんが、ここで私がやろうとしていることは理解できます。

アプリケーションをロックせずに sendkeys を永久に保持するには、マウス ダウンに正確に何を入力すればよいでしょうか?

私の質問が理にかなっていることを願っています。笑。

ありがとう

RT

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")

これは 1 回だけ発生する可能性があります。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 に答える