c# - 如何使用 WPF 文本框实现捕获和显示当前按键?

标签 c# .net wpf keyboard keyboard-shortcuts

就像 Visual Studio > Options > Keyboard > Press shortcut keys field 中的一样。

我可以将此按键保存为单个组合值,还是必须分别保存按键和每个修改键?

我只想在 TextBox 中显示当前按下的键,例如:

Ctrl+G
Alt+X
Shift+V
R
Ctrl+Alt+S
etc

也在寻找存储按键值的最佳方式。如果我必须分别存储键和修改键,那么我将创建一个将所有键都放在一个地方的新类型。

最佳答案

在文本框的KeyDown事件中:

        string keys = "";

        if ((Keyboard.Modifiers & ModifierKeys.Control) > 0)
        {
            keys += "Control + ";
        }

        if ((Keyboard.Modifiers & ModifierKeys.Alt) > 0)
        {
            keys += "Alt + ";
        }

        if ((Keyboard.Modifiers & ModifierKeys.Shift) > 0)
        {
            keys += "Shift + ";
        }

        keys += e.Key;

        YourTextBox.Text = keys;

关于c# - 如何使用 WPF 文本框实现捕获和显示当前按键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6312636/

相关文章:

c# - App.config 对比Web.config : which has priority?

c# - 创建垂直菜单

c# - 如何将非托管应用程序窗口置于最前面,并使其成为(模拟)用户输入的事件窗口

c# - 如何在 VBA 中使用 C# 的非托管导出?

c# - SerialPort_DataReceived 事件的问题

c# - 在 MVC4 中显示 viewbag 列表中的 ListView

c# - XmlSerializer 添加属性

c# - 如何在 linq 查询中将可为空的 guid 与 guid 进行比较?

c# - 如何在mvvm中绑定(bind)鼠标双击命令

c# - 使用语言代码 (en) 还是完整的文化代码(例如 en-AU)?