C# 如何确定在按键事件中是否按下了退格键?
这: …表示我应该在按键事件中访问e.KeyCode,但我似乎没有。我尝试只允许1,2,3和退格:C# 如何确定在按键事件中是否按下了退格键?,c#,winforms,keypress,keycode,C#,Winforms,Keypress,Keycode,这: …表示我应该在按键事件中访问e.KeyCode,但我似乎没有。我尝试只允许1,2,3和退格: private void textBoxQH1_KeyPress(object sender, KeyPressEventArgs e) { if ((e.KeyChar != '1') && (e.KeyChar != '2') && (e.KeyChar != '3') && (e.KeyChar !=
private void textBoxQH1_KeyPress(object sender, KeyPressEventArgs e) {
if ((e.KeyChar != '1') &&
(e.KeyChar != '2') &&
(e.KeyChar != '3') &&
(e.KeyChar != (Keys.Back))) {
e.Handled = true;
}
}
…但“e”不显示如示例所示的“KeyCode”值,并尝试使用键键入KeyChar。Back责骂我,“Operator'!=”不能应用于“char”和“System.Windows.Forms.Keys”类型的操作数
那么,我如何才能做到这一点呢?我很确定,我只不过是用
KeyDown
事件来解决这个问题;它有不同的事件参数。尝试比较e.KeyChar!=(char)Keys.Back
,您应该将其强制转换为char,因为Keys是一个枚举
请参见:尝试设置如下条件: 代码:
if (e.KeyCode == (Keys.Back))
{
if(textBox1.Text.Length >=3)
{
if (textBox1.Text.Contains("-"))
{
textBox1.Text.Replace("-", "");
}
}
}
c#???嗯,我不确定,但可能:(e.KeyChar!=(char)8)
?