我使用此代码阻止美元按钮移位+ 4 = $。 在此表http://expandinghead.net/keycode.html上,$是代码36
现在keydown上的代码:
if (e.KeyValue == 36)
{
e.Handled = true;
}
代码不起作用的原因?
答案 0 :(得分:2)
为什么不在KeyPress事件上
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == '$')
{
e.Handled = true;
}
}
答案 1 :(得分:0)
这是因为您首先按shift
然后按4,因此在使用shift
事件时,您将分别获得KeyDown
(键值16)的代码。
要实现您的目标,请使用KeyPress
事件,而不是KeyDown
。 KeyPress
将注册您键入的字符($
),而不是按下个别键。
if (e.KeyChar == '$')
{
e.Handled = true;
}