2011-01-20 29 views
0

wpfテキストボックス内で複数のキーボードアクションをシミュレートしようとしています(矢印の押下など)。私はc#/ wpfイベントによる矢印キーのシミュレート

TextCompositionManager.TextInputEvent

イベントを上げることによって、テキストを追加することで問題が全くないが、キーボードのイベントを通じてキーを送信しようとすると、機能していません。

Keyboard.Focus(targetTextBox); 

KeyEventArgs ke = new KeyEventArgs(Keyboard.PrimaryDevice, PresentationSource.FromVisual(targetTextBox), 0, Key.UP); 

ke.RoutedEvent = Keyboard.KeyDownEvent; 
targetTextBox.RaiseEvent(ke); 

は介して制御キーを送信する方法はありますTextInputEvent、またはKeyboardイベントを動作させる - 私は、previewDownEventを使用して、keyUpイベントとペアリングしようとしました。

EDIT:Windowsフォームを使用せずに、可能であればwpfでこれを行うことをお勧めします。

おかげ

+0

これは奇妙ですが、あなたのコードは私のマシン上でWPF 3.5と4.0でうまく動作します –

+0

コードは、カーソルキー以外のすべてで機能するようです。 –

答えて

1

私はそれがイベントを使用しませんがthisは、あなたが探しているものであると信じています。

... 
    SendKeys.Send("{LEFT}"); 
    SendKeys.Send("{RIGHT}"); 
... 

最初に入力するコントロールにフォーカスを設定することを忘れないでください。

+3

可能であればwpfでやりたいですが、Windowsフォームを必要としないソリューションはありますか? –

関連する問題