国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

一種正確調(diào)用自定義控件的方法

2019-11-11 06:36:11
字體:
供稿:網(wǎng)友

Winform自帶的控件往往不能滿足我們的需要,或者在某些方面不夠方便,可以通過自定義控件可以解決上述的問題,但自定義控件的正確的調(diào)用方法卻鮮為人知。

1、一般的調(diào)用方法

新建一個(gè)項(xiàng)目,暫且命名為UI,默認(rèn)會(huì)創(chuàng)建一個(gè)名為Form1的窗體。

新建一個(gè)自定義控件,名為MyControl。

對(duì)MyControl代碼進(jìn)行修改,將其背景顏色設(shè)置為藍(lán)色。

此時(shí)打開Form1窗體,會(huì)在工具箱里面找到自定義的MyControl控件,若找不到則需要生成一下項(xiàng)目。

將其拖至Form1窗體上,與上方設(shè)置的背景顏色完全一致。

但這并不是正確調(diào)用方法,若是經(jīng)常接觸自定義控件,當(dāng)打開包含有自定義控件的窗體時(shí),會(huì)出現(xiàn)類似于以下兩張圖的情況,出現(xiàn)這兩種情況的原因是:生成項(xiàng)目時(shí),你無(wú)法確定自定義控件生成的順序先于窗體,若先生成窗體,再生成自定義控件,生成窗體時(shí),窗體中所引用的自定義控件還未生成,因此造成錯(cuò)誤。

2、正確的調(diào)用方法

為了確保自定義控件生成順序先于調(diào)用自定義控件的窗體,可將自定義控件與窗體分隔為兩個(gè)工程,其中自定義控件所在的工程不再是生成一個(gè)應(yīng)用程序,而是生成類庫(kù)供其它工程調(diào)用,因此需要將工程的輸出類型設(shè)置為類庫(kù)。此時(shí)Form1和PRogram都是多余的文件,可以刪除。

對(duì)UI工程進(jìn)行生成,會(huì)在工程目錄下bin文件夾中生成一個(gè)dll文件,該文件是一個(gè)引用文件,當(dāng)其它工程引用這個(gè)文件,就可以調(diào)用UI工程中的自定義控件。

此時(shí)可以關(guān)閉UI工程,并新建一個(gè)目標(biāo)框架與UI工程一致的項(xiàng)目,暫且命名為Test。

將UI工程加入Test解決方案。

  

雖然兩個(gè)工程再同一解決方案中,但二者之間沒有任何關(guān)系,若要將其關(guān)聯(lián)起來,需要在Test工程中,引用UI工程所生成的dll文件。

 

再對(duì)Test解決方案設(shè)置項(xiàng)目依賴項(xiàng),設(shè)置哪個(gè)項(xiàng)目依賴于哪個(gè)項(xiàng)目才能運(yùn)行;設(shè)置項(xiàng)目生成順序,設(shè)置項(xiàng)目生成的前后順序;設(shè)置啟動(dòng)項(xiàng)目,設(shè)置哪個(gè)項(xiàng)目作為啟動(dòng)項(xiàng)目。

此時(shí)打開Test工程中的Form1窗體,在工具箱中會(huì)發(fā)現(xiàn)UI工程中的MyControl控件,如果沒有則需要生成一下項(xiàng)目,見到下圖,意味著Winform調(diào)用自定義控件的環(huán)境已然搭配完成,此后需要自定義控件,均與UI工程中添加,Test工程中調(diào)用。

PS:建議將UI工程置于Test工程文件夾中,作為一個(gè)整體,方便搬運(yùn)。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 宁都县| 甘谷县| 白水县| 绥阳县| 平邑县| 吕梁市| 辰溪县| 昌乐县| 阿城市| 上杭县| 亚东县| 阿图什市| 抚州市| 涞源县| 盘锦市| 舟山市| 上虞市| 岫岩| 寿宁县| 榆中县| 昌邑市| 贵定县| 吉首市| 达州市| 新郑市| 平江县| 红桥区| 新安县| 新建县| 梅州市| 留坝县| 泸定县| 天柱县| 高安市| 文昌市| 丰台区| 静乐县| 仁化县| 改则县| 金阳县| 丹巴县|