Windows Mobile 6中禁用键盘或者是禁用某些按键(C#)

1. 问题

在Windows Mobile的程序运行过程中需要屏蔽掉某些按键,或者是全部按键。

2. 如果是需要屏蔽掉全部按键,如下方法:

2.1 增加引用:  

  using System.Runtime.InteropServices;

2.2 引用方法(在类定义中):

    [DllImport("coredll.Dll")]
    private static extern int EnableHardwareKeyboard(int bEnable);

2.3 启用或者是禁用键盘(比如在Form的OnLoad方法中):   

EnableHardwareKeyboard(0);或者是:EnableHardwareKeyboard(1);

3. 如果是只想屏蔽掉某些特定的键,如下:

3.1 Form的KeyPreview属性改为True

3.2 设置Form的KeyDown方法,内容类似于如下格式:

    if ((e.KeyCode == System.Windows.Forms.Keys.Enter))
    {
        // Enter
        e.Handled = false;
    }
    else
    {
        e.Handled = true;
    }

只需要将上面的代码改成自己想要的格式即可。

原文地址:https://www.cnblogs.com/nayitian/p/2866679.html