按下'#'在我的MC45设备上我想调用一个方法。 我的代码如下:
void MyForm_KeyDown(object sender, KeyEventArgs e)
{
int keyValue = e.KeyValue;
switch (keyValue)
{
case 16: // Do Something
{
}
}
}
'#'的关键价值是16岁。 所以当我按下#'#'它工作正常,但后续调用KeyDown时会发生键值' 51'每次。 为什么?我该如何停止后续调用?
答案 0 :(得分:1)
用于检测'#'按键,你应该使用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。