C# - 使用 WinForm 的 KeyEventArgs

摘要:C# - 使用 WinForm 的 KeyEventArgs

接觸 C# 到現在,鮮少寫 WinForm 的專案或者程式,以前所寫的程式都是轉檔的程式居多。剛好今天有機會寫一個小程式,而裡面的 Button 也必須要搭配「快速鍵」來完成,這功能小弟相信在網路上有很多高手只要舉起小拇指就可以完成了,但小弟還是堅持要來寫一下,以下就來看看唄...

步驟一:增加一個 Button 並且建立一個 WinForm 的 KeyDown 事件



步驟二:建立一個名為 ShowMessageBox() 的方法,並且完成之後的一些程式碼

Code:

namespace KeyEventArgsSample
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            ShowMessageBox();
        }

        private void button1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.Alt && e.KeyCode == Keys.F1)
                ShowMessageBox();
        }

        private void ShowMessageBox()
        {
            MessageBox.Show("我的訊息!!", "張小呆警告", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }
    }
}

結果:


以上的方法很簡單吧,不過因為專案的關係,有用到一些第三方的控制項,這控制項若是按照以上的作法,一定會沒有反應,所以這時候就必須要特別設定 KeyPreview 才可以唷...


參考:
KeyEventArgs 類別
[C#]Winform中設定Hot-Key
[C#] 使用Application.AddMessageFilter實作Form的熱鍵