C#: How do you display the modifier key name + non-modifier key name in this keydown event?

前端 未结 4 1080
攒了一身酷
攒了一身酷 2021-01-21 22:01

I am using this code to detect whether modifier keys are being held down in the KeyDown event of a text box.

    private void txtShortcut_KeyDown(object sender,          


        
4条回答
  •  离开以前
    2021-01-21 22:34

    If you are using .NET 3, you will want to use the KeysConverter class, which has support for localized names of the modifier keys:

    var kc = new KeysConverter();
    var result = kc.ConvertToString(e.KeyCode);
    

    Otherwise, you can do it yourself with the ternary operator:

    var keys = (e.Shift ? "[Shift]+" : string.Empty)
                 + (e.Control ? "[Ctrl]+" : string.Empty)
                 + (e.Alt ? "[Alt]+" : string.Empty)
                 + e.KeyCode;
    

提交回复
热议问题