簡(jiǎn)單介紹C#復(fù)合控件
本文介紹如何用Visual C# .NET 2002開(kāi)發(fā)簡(jiǎn)單的C#復(fù)合控件(Composite Control),主要講解控件開(kāi)發(fā)過(guò)程中的屬性(Property)和事件(Event)處理,以方便開(kāi)發(fā)人員在.NET平臺(tái)下根據(jù)自己的需要開(kāi)發(fā)適合的控件。
當(dāng)我們?cè)?NET平臺(tái)下做Windows Forms開(kāi)發(fā)時(shí),常常需要為了某一特殊用途而把現(xiàn)有控件結(jié)合起來(lái)使用,比如結(jié)合了Label和TextBox的控件就非常容易在窗體上布局(記得 Delphi 6里就有這么個(gè)控件),而結(jié)合了特定圖案和文字的控件則非常適合顯示公司的logo。.NET平臺(tái)就為我們提供了非常棒的工具和技術(shù)來(lái)創(chuàng)建這樣的自定義控件。下面讓我們來(lái)一起創(chuàng)作一個(gè)可以自動(dòng)顯示時(shí)間的控件。
值得注意的是,.NET平臺(tái)為我們提供了三種控件的開(kāi)發(fā)技術(shù),分別是:繼承控件(Extended Control)、C#復(fù)合控件(Composite Control)和自定義控件(Custom Control)(譯名可能會(huì)有所不同,大家可以以英文為準(zhǔn))。我們現(xiàn)在關(guān)心的是第二種——C#復(fù)合控件。OK,Let’s go!
1.創(chuàng)建控件工程。
在Visual C# .NET中新建一個(gè)“Windows控件庫(kù)”項(xiàng)目,命名為“TimeLabel”
2.更改命名空間、控件類名稱。
默認(rèn)的命名空間是TimeLabel(和項(xiàng)目名稱一樣),控件類名稱是UserControl1。請(qǐng)把命名空間改為與你的開(kāi)發(fā)習(xí)慣一致,如我的是LeoYang.Controls.TimeLabel,當(dāng)然你也可以選擇保留默認(rèn)命名空間;最好把控件類名稱改為有意義的命名,如 TimeLabel,這樣當(dāng)該控件出現(xiàn)在工具箱上時(shí),就會(huì)顯示為TimeLabel而不是UserControl1了。注意,一旦改動(dòng)類名,則相應(yīng)的 Construction方法名稱也要相應(yīng)改掉,如:
- public UserControl1()
- {
- …
- }
- //就要改為:
- public TimeLabel()
- {
- …
- }
【編輯推薦】