2010-07-31 145 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