用美元关键

时间:2013-10-16 11:54:04

标签: c# keydown

我使用此代码阻止美元按钮移位+ 4 = $。 在此表http://expandinghead.net/keycode.html上,$是代码36

现在keydown上的代码:

if (e.KeyValue == 36)
{
    e.Handled = true;
}

代码不起作用的原因?

2 个答案:

答案 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事件,而不是KeyDownKeyPress将注册您键入的字符($),而不是按下个别键。

if (e.KeyChar == '$')
{
    e.Handled = true;
}