#按钮无效按键c#

时间:2015-10-30 07:45:35

标签: c# compact-framework motorola

按下'#'在我的MC45设备上我想调用一个方法。 我的代码如下:

void MyForm_KeyDown(object sender, KeyEventArgs e)
{
    int keyValue = e.KeyValue;
    switch (keyValue)
    {
        case 16: // Do Something
        {

        }
    }
}

'#'的关键价值是16岁。 所以当我按下#'#'它工作正常,但后续调用KeyDown时会发生键值' 51'每次。 为什么?我该如何停止后续调用?

1 个答案:

答案 0 :(得分:1)

汉斯帕斯特是对的,'#'关键事件是Shift + 3(美国键盘布局)。

用于检测'#'按键,你应该使用KeyPress事件,而不是KeyDown / KeyUp。

另一个可能的缺陷:在较新的Windows Mobile 6.5.3上,#和*可能映射到VK_TSTAR和VK_TPOUND,这些映射到VK_F8和VK_F9。见winuserm.h:

#define VK_TSTAR    VK_F8               // *           
#define VK_TPOUND   VK_F9               // #

结果可能是你的应用程序没有看到那些*和#press,因为它们被操作系统发送为F8和F9。