2016年11月25日 星期五

[VS] 程式快捷鍵

寫了一個取像並以OK/NG存檔的程式
因為不想用滑鼠慢慢點,在這程式加入了快捷鍵支援


  1. 開啟form的"KeyPreview" 用code開啟
    this.KeyPreview = true; 或也可以透過UI在Form的Properties中開啟
  2. 設定KeyPress/KeyUp/KeyDown事件的handler
    callback function如下:
    private void Form1_KeyPress(object sender, KeyPressEventArgs e)
            {
                switch (e.KeyChar)
                {
                    case 'n':
                    case 'N':
                        SaveNg();
                        break;
                    case 'o':
                    case 'O':
                        SaveOk();
                        break;
                    default:
                        break;
                }
            }
    值得注意的是Keypress傳回的是keychar, keyUp/keyDown傳回的是按鍵狀態,包含ctrl/alt...有沒有同時被按下,處理方式不同。

沒有留言:

張貼留言