四. 自定義組件的源程序代碼( control.cs ):
control.cs源代碼如下:
using System.Windows.Forms ;
//定義封裝此組件的名稱空間
namespace MyControls
{
//LabledTextBox組件是繼承了 UserControl組件的
public class LabeledTextBox : UserControl
{
//定義本組件的組成結構
private Label myLabel ;
private TextBox myTextBox ;
public LabeledTextBox ( )
{
InitializeComponent ( ) ;
}
public void InitializeComponent ( )
{
//定義一個標簽
myLabel = new Label ( ) ;
myLabel.Location = new System.Drawing.Point ( 0 , 0 ) ;
myLabel.Size = new System.Drawing.Size ( 100 , 20 ) ;
//定義一個文本框
myTextBox = new TextBox ( ) ;
myTextBox.Location = new System.Drawing.Point ( 105 , 0 ) ;
myTextBox.Size =new System.Drawing.Size ( 100 , 20 ) ;
//同樣要設定所希望的組件大小
this.Size =new System.Drawing.Size ( 205 , 20 ) ;
//加入組件
this.Controls.Add ( myLabel ) ;
this.Controls.Add ( myTextBox ) ;
}
//組件中的Text屬性,是從文本框的Text的屬性派生而來
public override string Text
{
get
{
return myTextBox.Text ;
}
set
{
myTextBox.Text = value ;
}
}
//創建一個新的屬性LabelText,並且此屬性的值是通過繼承此組件中的標簽的 Text屬性值
public string LabelText
{
get
{
return myLabel.Text ;
}
set
{
myLabel.Text = value ;
}
}
}
}
至此,我們已經完成了一個新的組件的構建過程。下面我們將編譯源程序文件,生產組件.