再次運(yùn)行窗體,按下F11,不起作用了?這是怎么回事?
因?yàn)檫@時窗體運(yùn)行后,焦點(diǎn)已不在窗體上,而在控件上了,我們要將KeyPreview設(shè)置為True,向窗體注冊控件上產(chǎn)生的鍵盤事件,再次運(yùn)行,問題解決了。
那么組合按鍵又怎么設(shè)置呢?例如要按下Alt和數(shù)字0,需要這樣:
使用Modifiers可設(shè)置組合鍵,鍵盤數(shù)字區(qū)按鍵的Keys枚舉以D打頭,而小鍵盤上的數(shù)字以NumPad打頭。按下Ctrl與Shift組合鍵的方法與其類似,下面我們看看按下Ctrl + Alt + 數(shù)字0該怎樣設(shè)置:
將Ctrl和Alt的枚舉轉(zhuǎn)換為int型相加后與Modifiers對比,這樣即可判斷是否按下了該組合鍵。
那么 怎么觸發(fā)按鈕事件呢?
如按F1觸發(fā)confirm按鈕事件
/ /如果還有keypress事件,不讓此快捷鍵觸發(fā)其事件可加一句代碼
e.Handled = true; //將Handled設(shè)置為true,指示已經(jīng)處理過KeyPress事件
confirm1.PerformClick();////執(zhí)行單擊confirm1的動作
}
}
另外一種簡單快捷鍵的方法
在設(shè)置Button的Text屬性時,在一個英文字母的前面加上&(and符),例如將btnConfirm的Text屬性設(shè)置為:&Confirm,當(dāng)運(yùn)行窗體,按下Alt + C時,就相當(dāng)于按下該鍵。
新聞熱點(diǎn)
疑難解答
圖片精選