如何在C#中的KeyPress事件中使用KeyValue

时间:2015-06-20 06:11:07

标签: c# keypress

在关键新闻事件中,我们可以使用KeyChar属性,在KeyDown事件中,我们可以使用KeyValue。 我需要在KeyValue事件中使用KeyCharKeyPress属性。我该怎么办?

2 个答案:

答案 0 :(得分:5)

您无法访问 KeyValue 中的KeyPress event。但您可以改用 KeyDown event 。然后您可以使用 KeyValue 然后 e.KeyCode.ToString() 来获取KeyChar

   KeyDown 事件中的

e.KeyCode.ToString() = KeyChar

示例:

Private void YourControl_KeyDown(sender As Object, e As KeyEventArgs) 
{
    var keyChar = e.KeyCode.ToString()
    var keyValue = e.KeyValue
}

答案 1 :(得分:2)

我认为你不能。考虑单个KeyPress可能要求用户只按一个键或多个键;并且按下相同的键可能会导致在KeyPress事件中触发不同的字符。按" a"键盘上的键可能会导致字符" a"," A"或根本没有字符(ctrl-A),具体取决于大写锁定是否打开,还是Shift键或按下控制键。简而言之,KeyPress事件为您做了有价值的预处理,并且您无法在预处理之前获取原始信息。