[C#.NET][Winform] 表單等級的快捷鍵 (Hot Key)

  • 7864
  • 0
  • C#
  • 2013-01-02

[C#.NET][Winform] 表單等級的快捷鍵 (Hot Key)

當一個應用程式某個畫面的功能眾多時,這時若搭配快捷鍵,讓使用者快速的調用常用的功能,這會做會讓使用者覺得很貼心,

例如:選單功能快捷鍵

image

我知道有幾個方法可以這樣做:

  1. Menus Control
  2. ProcessCmdKey
  3. Form.KeyUp


PS1.僅限於 Active 表單上的操作,當焦點不在表單,快捷鍵就會失效

PS2.我們可以利用這樣的方法為按鈕增加 Hot Key,就算焦點不在該按鈕上也能使用。

 


這在 Menus & Toolbars 控制項裡

image

這要達成快捷鍵的功能是很容易的,真的不費吹灰之力。

image


Control.ProcessCmdKey 方法


{
    if (keyData == (Keys.Control | Keys.Alt | Keys.F5))
    {
        //TODO:執行功能
        return true;
    }
    return base.ProcessCmdKey(ref m, keyData);
}



private void Form1_KeyUp(object sender, KeyEventArgs e)
{
    if (e.KeyData == (Keys.Control | Keys.Alt | Keys.F5))
    {
        //TODO:執行功能
    }
}

若有謬誤,煩請告知,新手發帖請多包涵


Microsoft MVP Award 2010~2017 C# 第四季
Microsoft MVP Award 2018~2022 .NET

Image result for microsoft+mvp+logo