如何在不按鍵盤按鍵的情況下觸發按鍵事件?我試圖從here的解決方案,但我得到了以下異常:在不按鍵盤按鍵的情況下觸發鍵盤按鍵事件
爲 「System.Windows.PresentationSource.FromVisual(System.Windows.Media.Visual)」 最佳重載的方法匹配具有一些無效參數。
考慮Shift + A鍵包含鍵盤2按鍵事件,我怎麼能做到這一點,不使用鍵盤按?(讓,只是打印大寫字母A在一個文本框上的按鈕點擊)
我代碼
var key = Key.A; // Key to send
var target = Keyboard.FocusedElement; // Target element
var routedEvent = Keyboard.KeyDownEvent; // Event to send
target.RaiseEvent(new System.Windows.Input.KeyEventArgs(Keyboard.PrimaryDevice, System.Windows.PresentationSource.FromVisual(target), 0, key) { RoutedEvent = routedEvent });
你是否嘗試過鏈接中的sendkeys示例? – RandomUs1r 2013-03-22 16:10:32
@ RandomUs1r,是的我試過了,但是需要一個發送該鍵的目標。如果一個表單中有10個文本框,那麼應該是什麼標準?我想寫一個當前焦點的地方,我使用的是鍵盤。以上代碼中的FocusedElement。你有什麼想法嗎? – ridoy 2013-03-22 17:31:00
我將使用focusmanager類來代替:http://msdn.microsoft.com/en-us/library/system.windows.input.focusmanager.aspx。儘管如此,我可能會嘗試在jQuery中實現類似的東西。 – RandomUs1r 2013-03-22 21:33:50