WinForm中快捷鍵與組合按鍵的設定方法

2022-09-26 09:39:09 字數 712 閱讀 8188

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

新建乙個空白窗體

每個窗體都有這樣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)

WinForm中快捷鍵與組合按鍵的設定方法

每個窗體都有這樣3個事件 keydown keypress keyup,keydown和keypress都是按鍵按下事件,但keydown用的是keycode跟鍵盤各個按鍵相對應,它對應keys列舉,用起來比較方便 而keypress用的是keychar,這個就要找asc ii編碼了,不方便。因此我...

QT實現Ctrl S快捷鍵(組合快捷鍵)

首先要清楚,ctrl s的組合快捷鍵中,ctrl是 修飾鍵 s是 按鍵值 平時使用的組合快捷鍵都是要先按下修飾鍵再按按值鍵,順序反了就沒有組合鍵的效果了 qt按鍵按下的事件qkeyevent中有key 和modifier key 函式返回的是發生時間的按鍵值,modifier 返回的而是修飾鍵。因此...

zend Studio 快捷鍵組合

zend studio 快捷鍵組合 ctrl 單行注釋。當前為php 時,則在游標所在行新增雙斜槓行注釋,選擇多行則每一行都新增雙斜槓 而當 為html時則在行前後新增注釋,選中多行將在選區前後新增注釋,而非每行新增 php html 全部適用,不適用於css部分 ctrl shift 塊注釋,為選...