這裡的快捷鍵並非系統全域性快捷鍵。僅是普通的當窗體在焦點內是發生。有很多種方法,這裡列舉幾種專案中使用到的方法。
alt+*(一般控制項快捷鍵)
在大家給button、label、menustrip等控制項設定text屬性時 這個比較簡單,只需為該控制項的text屬性宣告時加上」(&a)」,」(&d)」 之類的標識,例如乙個button按鈕的text屬性為:this.btnok.text=」確定(&a)」;
ctrl+*(組合鍵)
首先需設定窗體的keypreview(向窗體註冊鍵盤事件)(確定窗體上控制項的鍵盤事件是否已向窗體註冊)屬性設定為true
然後只需在窗體的keydown事件中做相應業務處理。
private void form1_keydown(object sender, keyeventargs e)
這裡,如果要啟用某個button按鈕事件,有三種寫法:
btnok.performclick();//執行該控制項的click事件
invokeonclick(btnok,null);//為指定的控制項引發click事件
btnok_click(null,null);//直接呼叫按鈕的click事件,引數都為null
2、還有乙個問題,當使用ctrl + *快捷鍵時,對於焦點在可寫的控制項(如textbox)上時,可能會將* 鍵值同時輸入,則需要加另一句話將handled設定為true,以取消 keypress 事件。
即:
private void ***_keydown(object sender, keyeventargs e)
}
第三種:
還是以button為例。給form新增乙個contextmenustrip1,將其邦定到button上,假設為button1。給contextmenustrip1新增乙個item,然後為它設定快捷鍵(就是你想加在button上的快捷鍵),並且將它的visible屬性設為false。這樣,button1的快捷鍵設定成功。
時間的步伐有三種:未來姍姍來遲,現在像箭一樣飛逝,過去永遠靜立不動.務請珍惜
C 為WinForm窗體定義功能快捷鍵
c 為winform窗體定義功能快捷鍵 這裡的快捷鍵並非系統全域性快捷鍵。僅是普通的當窗體在焦點內是發生。有很多種方法,這裡列舉幾種專案中使用到的方法。alt 一般控制項快捷鍵 在大家給button label menustrip等控制項設定text屬性時 這個比較簡單,只需為該控制項的text屬性...
C 自定義Winform無邊框窗體
在實際專案中,winform窗體或者控制項不能滿足要求,所以就需要自己設計窗體等,當然設計介面可以用的東西很多,例如wpf 或者一些第三方的庫等。本例中將採用winform設計乙個扁平美觀的窗體。需要的可以參考 c 自定義button按鈕控制項 窗體效果 是否允許最大化 3 4private boo...
WinForm中拖拽窗體實現移動功能
在windowsform 應用程式中,有時我們會將窗體的formborderstyle屬性設定為none,這時,用滑鼠拖拽窗體時就無法實現移動的功能了 你是否也遇到過這種情況?不要著急,下面就是解決方案.在formbordestyle屬性設定為none的窗體的後台 中新增以下 dllimport u...