方法一:組合法
說明:将系統提供的多個控件組合成一個控件使用。
例如:将ListBox和TextBox組合成一個自定義控件MyDemoControl
步驟:
1,在項目中添加“使用者控件”,檢視代碼可以父類為UserControl;
2,為控件設計“界面”;
3,為控件程式設計,添加自定義屬性等;
4,為控件程式設計,添加方法(Public)
調試:
1,儲存,重新生成項目;
2,在工具欄中,能看到目前項目自定義的元件,其中包括自定義控件MyDemoControl;
3,拖動到視窗;
方法二:派生法
說明:以系統的某個控件為父類,派生一個新控件。
例如:以Button類作為父類,設計一個自定義控件MyButton(可以設定提示文本的按鈕)
步驟:
1,在項目中添加“自定義控件”,類名MyButton,父類為Button;
2,為控件程式設計,添加自定義屬性等;
3,為控件程式設計,添加方法(Public);
4,注意,此控件在設計視圖視窗不可見;
調試:
1,儲存,重新生成項目;
2,在工具欄中,能看到目前項目自定義的元件,其中包括自定義控件MyButton;
3,拖動到視窗;
有關代碼:
public partial class MyButton : Button
{
private ToolTip _toolTip; //内置ToolTip控件
private string _TipsString;
[DefaultValue(null)]
[Description("提示消息"), Category("雜項")]
[Browsable(true)] //在屬性視窗可見
public string TipsText
{
get { return this._TipsString; }
set
{
this._TipsString = value;
_toolTip.SetToolTip(this, _TipsString);
}
}
public MyButton()
{
InitializeComponent();
_toolTip = new ToolTip();
this._toolTip.InitialDelay = 0;
this._toolTip.ReshowDelay = 0;
this._toolTip.SetToolTip(this, _TipsString);
}
public void SetTip(string tips)
{
if (tips != null)
{
this._TipsString = tips;
this._toolTip.SetToolTip(this, _TipsString);
}
}
}
方法三:第三方控件(拿來主義)
說明:搜尋别人提供的第三方控件(dll檔案),按說明安裝使用。
例如:SideBar,側邊欄控件
步驟:
1,在項目中添加“引用”,按提示操作;
2,在工具箱可見該控件,拖動到視窗中;
3,為控件程式設計;
調試:
1,儲存,重新生成項目;
2,觀察運作效果;
轉載自:http://scaucs.net/Student/ShowTopic?homeworkID=61133