在关键新闻事件中,我们可以使用KeyChar
属性,在KeyDown
事件中,我们可以使用KeyValue
。
我需要在KeyValue
事件中使用KeyChar
和KeyPress
属性。我该怎么办?
答案 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事件为您做了有价值的预处理,并且您无法在预处理之前获取原始信息。