我想檢測何時按下鍵盤上的鍵來執行命令。因此,當我按下F鍵時,它會執行操作。我該怎么做?
uj5u.com熱心網友回復:
您需要處理鍵盤事件,例如KeyDown. 這些為您提供每次按鍵或釋放時的事件。
在事件處理程式中,您需要過濾按下哪個鍵并執行需要執行的任何操作:
public void MyKeyDownEventHandler(object sender, KeyRoutedEventArgs e)
{
if (e.Key == 70)
{
MessageBox.Show("'F' key pressed");
}
}
由于KeyDown事件系結到一個控制元件并且只會在控制元件具有焦點時觸發,因此您需要考慮要從哪個控制元件觸發事件。為了在您的應用程式的任何地方觸發事件,這篇博文提供了一個簡潔的解決方案:
通過KeyDown在應用程式啟動期間將事件注冊到所有控制元件,只要您的應用程式處于焦點狀態,它就會始終觸發,因為始終有一個控制元件處于焦點位置。為此,請將其添加到OnStartup()您的應用程式的方法中(在 app.xaml.cs 中):
public partial class App : Application
{
protected override void OnStartup(StartupEventArgs e)
{
EventManager.RegisterClassHandler(typeof(Control),
Control.KeyDownEvent,
new KeyEventHandler(MyKeyDownEventHandler));
base.OnStartup(e);
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/483693.html
