【问题标题】:Keydown event capturing number keysKeydown 事件捕获数字键
【发布时间】:2009-08-09 13:39:32
【问题描述】:

VS 2008 SP1

我想捕获 0 到 9 的数字键。如果单击了这些数字,则执行一些操作。

我正在使用下面的代码。但是,它似乎无法正常工作。但是,代码不会进入开关,因为当我使用调试器查看 e.KeyValue 中捕获了哪些键值时,它会显示“LButton | ShiftKey | Space”。

但是,它不应该显示 NumPad1 吗?

非常感谢您的建议,

 private void CATDialer_KeyDown(object sender, KeyEventArgs e)
        {
            // Play sound when use kits number key
            switch (e.KeyValue)
            {
                case Keys.NumPad1:
                    // Do something here
                    break;
            .
            .
            .
}

【问题讨论】:

    标签: c# winforms


    【解决方案1】:

    我正在使用此代码

    private void tb_mds_port_KeyPress(object sender, KeyPressEventArgs e)
    {
        if (e.KeyChar == 8) // do something if backspace is pressed
        {
            // ACTION
            e.Handled = true;
        } 
    }
    

    为你的代码使用类似这样的东西

    if(e.KeyChar == (char)Keys.Return) // do something if return is pressed
    {
       //ACTION
       e.Handled = true;
    }
    

    【讨论】:

    • 谢谢。这解决了我的问题。然而,这只是一个简单的问题。使用 keypress 或 keydown 有什么真正的区别吗?谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-20
    相关资源
    最近更新 更多