相关疑难解决方法(0)

如何处理可自定义的热键设置?

我试图让我的应用程序的用户选择为某些功能设置键盘热键。

现在我TextBoxKeyDown事件中使用 a ,如下所示:

Key Hotkey;
private void SetHotKey(object sender, KeyEventArgs e)
{
    (sender as TextBox).Text = e.Key.ToString();
    Hotkey = e.Key;
    e.Handled = true;
}
Run Code Online (Sandbox Code Playgroud)

这种方法的问题是我无法设置复杂的快捷方式,例如 [Ctrl]+[F4]。是否有一些 3rd 方控制可以帮助解决这个问题?或者更适合在文本框上订阅的事件?

更新:我已经更改了我的代码,但似乎我仍然做错了什么。

Key Hotkey;
bool lControl = false;
bool lAlt = false;
bool lShift = false;
private void SetHotKey(object sender, KeyEventArgs e)
{
    var k = e.Key;
    if (e.IsDown)
    {
        var tb = sender as TextBox;
        tb.Text = "";
        lControl = Keyboard.IsKeyDown(Key.LeftCtrl);
        lAlt = Keyboard.IsKeyDown(Key.LeftAlt);
        lShift = …
Run Code Online (Sandbox Code Playgroud)

.net c# wpf keyboard-shortcuts

1
推荐指数
1
解决办法
1157
查看次数

标签 统计

.net ×1

c# ×1

keyboard-shortcuts ×1

wpf ×1