0

我正在使用此代码来阻止美元按钮 shift+4 = $。在这张表http://expandinghead.net/keycode.html上 $ 是代码 36

现在keydown上的代码:

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

代码不起作用为什么?

4

2 回答 2

2

为什么不在 KeyPress 事件中

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
    if (e.KeyChar == '$')
    {
        e.Handled = true;
    }
}
于 2013-10-16T12:02:29.097 回答
0

这是因为你先按shift然后4,所以shift在使用KeyDownevent的时候会分别得到(key value 16)的code。

要实现您想要的,请使用KeyPress事件,而不是KeyDown. KeyPress将注册您键入的字符 ( $),而不是按下的单个键。

if (e.KeyChar == '$')
{
    e.Handled = true;
}
于 2013-10-16T11:58:16.433 回答