2010-07-31 104 views
1

我目前正在使用C#wpf編寫,我想模仿用戶按下按鈕點擊按鈕的動作。觸發按鈕通過鍵盤輸入點擊

private void abuttonispressed(object sender, System.Windows.Input.KeyEventArgs e) 
       { 
        if ((Keyboard.Modifiers == ModifierKeys.Control) && (e.Key == Key.S)) 
        { 
         //click event is raised here 
        } 


       } 

重要的是,不僅按鈕的代碼運行,而且按鈕的視覺'點擊'。我讀了這方面的建議,像performclick,但performclick不是一個已知的方法爲按鈕莫名其妙...

任何想法?

+0

我不明白爲什麼它應該是這樣,更「重要」,該按鈕在視覺上鬱悶當你按下一個組合鍵。沒有其他用戶界面我見過這樣做。如果你只是爲了不同的,新穎的或有創造性的目的而做這件事,它應該敲響警鐘,你應該重新考慮它。 – Timwi 2010-08-01 07:16:05

+0

這不是一個不同的或創造性的問題,我只是希望用戶能夠通過鍵盤控制應用程序並獲得視覺反饋,以便他們知道他們激活了什麼。有很多UI在做這個,最明顯的例子是按下所選按鈕上的輸入以激活其點擊功能。 – internetmw 2010-08-01 09:40:33

回答

2

我不知道正確的答案,但會從這裏開始播放:

private void abuttonispressed(object sender, System.Windows.Input.KeyEventArgs e) 
{ 
    if ((Keyboard.Modifiers == ModifierKeys.Control) && (e.Key == Key.S)) 
    { 
     //click event is raised here 
     button1.Focus(); 
     button1.RaiseEvent(new RoutedEventArgs(Button.ClickEvent, button1)); 
    } 
} 
+0

非常感謝 – internetmw 2010-08-01 21:02:30