2011-01-20 71 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,或使鍵盤事件工作 - 我已經嘗試使用previewDownEvent和配對keyUp事件。

編輯:另外,我寧願通過WPF,如果可能的話,而不使用Windows窗體。

感謝

+0

這很奇怪,但你的代碼在我的機器上用WPF 3.5和4.0正常工作 – 2011-01-20 18:31:46

+0

該代碼似乎適用於除光標鍵之外的所有內容,這是我需要移動的插入符號。 – 2011-01-24 13:56:48

回答

1

我相信this是你在找什麼,但它不使用事件。

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

請記住將焦點設置爲您想先輸入的控件。