成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Winform對多個按鈕相同熱鍵時(shí)的處理-創(chuàng)新互聯(lián)

在Winform中我們可以通過在按鈕的名稱上使用&來給按鈕設(shè)置熱鍵。但是如果多個按鈕有相同的熱鍵時(shí)會發(fā)生什么呢?我們來做個實(shí)驗(yàn)。

創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、外貿(mào)營銷網(wǎng)站建設(shè)、大興網(wǎng)絡(luò)推廣、成都微信小程序、大興網(wǎng)絡(luò)營銷、大興企業(yè)策劃、大興品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們大的嘉獎;創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供大興建站搭建服務(wù),24小時(shí)服務(wù)熱線:18982081108,官方網(wǎng)址:jinyejixie.com

我們放三個按鈕并設(shè)置同樣的熱鍵,然后在每個按鈕的處理函數(shù)里使用MessageBox.Show來輸出自己的名稱,以此來說明哪個按鈕被觸發(fā)了。

Winform 對多個按鈕相同熱鍵時(shí)的處理

Winform 對多個按鈕相同熱鍵時(shí)的處理

運(yùn)行程序后,按Alt+b你會發(fā)現(xiàn)彈出了button2的提示,按確定后沒再有別的提示。如下圖:

Winform 對多個按鈕相同熱鍵時(shí)的處理

這時(shí)你再讓button2獲取焦點(diǎn)后再按Alt+b試試,你會收到button3的提示。由此可以得出,Winform是根據(jù)當(dāng)前的焦點(diǎn)位置和Tab順序來搜索下一個可觸發(fā)熱鍵的控件來處理的。要注意的是搜索的順序是從當(dāng)前焦點(diǎn)的下一個控件開始到當(dāng)前焦點(diǎn)的控件為止來搜索。

我們再做一個試驗(yàn),新建一個用戶控件,在這個用戶控件中我們添加一個按鈕,并將熱鍵設(shè)置為Alt+b。在后臺添加一個Sequence屬性,在控件的Load事件中將button的名稱上加上Sequence的值,在按鈕的Click事件中Show出按鈕的名稱以表示哪個按鈕被觸發(fā)。

Winform 對多個按鈕相同熱鍵時(shí)的處理

Winform 對多個按鈕相同熱鍵時(shí)的處理

用戶控制做好后我們將它添到我們的form上,放三個并依次將Sequence屬性改為1,2,3。

Winform 對多個按鈕相同熱鍵時(shí)的處理

運(yùn)行后,我們將焦點(diǎn)定位到ucbutton1上后按Alt+b,你會發(fā)現(xiàn)提示uc&button1的消息。ucbutton2和uc&button3也是如此。

Winform 對多個按鈕相同熱鍵時(shí)的處理

那為什么會這樣呢?是不是Usercontorl有不同的處理呢?我們再來做個實(shí)驗(yàn)吧。再新建一個用戶控件,添加3個按鈕設(shè)置相同的熱鍵,并添加后臺方法如下:

Winform 對多個按鈕相同熱鍵時(shí)的處理

Winform 對多個按鈕相同熱鍵時(shí)的處理

再將這個用戶控件添加到窗體中。

Winform 對多個按鈕相同熱鍵時(shí)的處理

運(yùn)行程序后把焦點(diǎn)置于button3后按Alt+b你會收到uc2button1的提示,通過上面的結(jié)論這個是正確的。當(dāng)你把焦點(diǎn)置于uc2button1時(shí)按Alt+b你會收到uc2button2的提示,當(dāng)你把焦點(diǎn)置于uc2button3上時(shí)按Alt+b你會收到uc2button1的提示。

所以可以得出結(jié)論了。當(dāng)焦點(diǎn)進(jìn)入usercontrol之后Winform搜索下一個可觸發(fā)控件的范圍就限定在這個用戶控件內(nèi)了。現(xiàn)在也可以理解第二個實(shí)驗(yàn)為會ucbutton1~3會觸發(fā)當(dāng)前按鈕的原因了,因?yàn)樵谟脩艨丶姆秶鷥?nèi)只有一個熱鍵為Alt+b的控件。

不過我們正常情況下是不會遇到這個問題的,我是在一個form上加載多次同一個用戶控件時(shí)才遇到這個問題的。個人認(rèn)為我們不應(yīng)該依賴于Winform的這種搜索機(jī)制,而是自己多加處理來控制熱鍵的觸發(fā)邏輯,如通過Enable或Visable來保證熱鍵不沖突。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

新聞名稱:Winform對多個按鈕相同熱鍵時(shí)的處理-創(chuàng)新互聯(lián)
當(dāng)前地址:http://jinyejixie.com/article28/depojp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、網(wǎng)站制作網(wǎng)站設(shè)計(jì)、建站公司、動態(tài)網(wǎng)站服務(wù)器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)
忻城县| 汉源县| 聂拉木县| 南木林县| 新巴尔虎左旗| 伊川县| 镇坪县| 临城县| 涞源县| 抚远县| 泾川县| 千阳县| 韶山市| 阳东县| 穆棱市| 涞水县| 浏阳市| 嘉定区| 彰化市| 十堰市| 临潭县| 上林县| 托克托县| 霍城县| 伊春市| 徐闻县| 五常市| 泸溪县| 咸阳市| 绥滨县| 祁阳县| 鹤庆县| 博乐市| 呼伦贝尔市| 六枝特区| 巢湖市| 金川县| 修文县| 阿坝县| 贺州市| 东兰县|