winform 使用快捷鍵來觸發按鈕事件

2022-02-19 11:03:19 字數 1774 閱讀 8110

第一種方法。。**複雜,操作簡單的快捷鍵

新建乙個空白窗體

每個窗體都有這樣3個事件:keydown、keypress、keyup,keydown和keypress都是按鍵按下事件,但keydown用的是keycode跟鍵盤各個按鍵相對應,它對應keys列舉,用起來比較方便;而keypress用的是keychar,這個就要找asc ii編碼了,不方便。keyup是按鍵彈起事件,不常用,因此我們使用keydown事件來設定窗體的快捷鍵,雙擊該事件後的空白生成**,首先我們設定單個按鍵,讓它按下f11最大化,再次按下還原,在事件中加入如下**:

if(e.keycode == keys.f11)

若窗體的windowstate為maximized則還原,否則最大化,執行下試試,很好用 :-)

下面在窗體中加入乙個名為txtinput的textbox,兩個名為btnconfirm、btnexit的button:

再次執行窗體,按下f11,不起作用了?這是怎麼回事?

因為這時窗體執行後,焦點已不在窗體上,而在控制項上了,我們要將keypreview設定為true,向窗體註冊控制項上產生的鍵盤事件,再次執行,問題解決了。

那麼組合按鍵又怎麼設定呢?例如要按下alt和數字0,需要這樣:

if(e.modifiers == keys.alt && e.keycode == keys.d0)

使用modifiers可設定組合鍵,鍵盤數字區按鍵的keys列舉以d打頭,而小鍵盤上的數字以numpad打頭。按下ctrl與shift組合鍵的方法與其類似,下面我們看看按下ctrl + alt + 數字0該怎樣設定:

if((int)e.modifiers == ((int)keys.control + (int)keys.alt) && e.keycode == keys.d0)

將ctrl和alt的列舉轉換為int型相加後與modifiers對比,這樣即可判斷是否按下了該組合鍵。

那麼 怎麼觸發按鈕事件呢?

如按f1觸發confirm按鈕事件

private void form1_keydown(object sender, keyeventargs e)

}另外的,與窗體的acceptbutton屬性相關聯的按鈕,將與鍵盤上的enter鍵對應;與窗體的cancelbutton屬性相關聯的按鈕,將與鍵盤上的ecs鍵對應。

另外一種簡單快捷鍵的方法

在設定button的text屬性時,在乙個英文本母的前面加上&(and符),例如將btnconfirm的text屬性設定為:&confirm,當執行窗體,按下alt + c時,就相當於按下該鍵。

winform 使用快捷鍵來觸發按鈕事件

第一種方法。複雜,操作簡單的快捷鍵 新建乙個空白窗體 每個窗體都有這樣3個事件 keydown keypress keyup,keydown和keypress都是按鍵按下事件,但keydown用的是keycode跟鍵盤各個按鍵相對應,它對應keys列舉,用起來比較方便 而keypress用的是key...

快捷鍵使用

快捷鍵盤使用 你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下markdown的基本語法知識。全新的介面設計,將會帶來全新的寫作體驗 在創作中心設定你喜愛的 高亮樣式,markdown將 片顯示選擇的高亮樣式進行展...

mysql快捷鍵 MYSQL快捷鍵使用大全 DOC

mysql常用命令 1.匯出整個資料庫 mysqldump u 使用者名稱 p default character set latin1 資料庫名 匯出的檔名 資料庫預設編碼是latin1 2.匯出乙個表 mysqldump u 使用者名稱 p 資料庫名 表名 匯出的檔名 3.匯出乙個資料庫結構 d...