VS .NET(C#)如何動態創建控件
VS .NET(C#)如何動態創建控件呢?今天做了一個小程序來學習一下。
#region 動態創建控件
/// <summary>
/// 直接創建一個沒有任何屬性TextBox控件
/// </summary>
private void CreateTBControl()
{
//定議一個Textbox控件
TextBox tbTextbox = new TextBox();
//動態增加控件
this.Controls.Add(tbTextbox);
}
/// <summary>
/// 創建一個帶有屬性的TextBox控件
/// </summary>
private void CreateTBControlPrj()
{
//定議一個Textbox控件
TextBox tbTextboxPrj = new TextBox();
//設定控件的位置
tbTextboxPrj.Location = new Point(10, 10);
//設置TextBox的name
tbTextboxPrj.Name = "tbTxb";
//設置控件的Text
tbTextboxPrj.Text = "測試";
//增加控件
this.Controls.Add(tbTextboxPrj);
}
//定議一個控件數組
TextBox[] tbTexbBox;
private void CreateActivityTBControl()
{
tbTexbBox = new TextBox[3];
int iTbNum=0;
for (; iTbNum < 3; iTbNum++)
{
tbTexbBox[iTbNum] = new TextBox();
//設置TextBox的name
tbTexbBox[iTbNum].Name = "txt" + iTbNum.ToString();
//設置控件的Text
tbTexbBox[iTbNum].Text = "txt" + iTbNum.ToString();
//控件縱坐標向下移25
int iYvalue = iTbNum * 25;
//設定控件的位置
tbTexbBox[iTbNum].Location = new System.Drawing.Point(10, iYvalue);
//增加控件
this.Controls.Add(tbTexbBox[iTbNum]);
//設置控件的DoubleClick事件
tbTexbBox[iTbNum].DoubleClick += new EventHandler(tbTexbBox_DoubleClick);
}
}
/// <summary>
/// 控件的DoubleClick事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void tbTexbBox_DoubleClick(object sender, EventArgs e)
{
//修改其中一個控件的屬性
tbTexbBox[2].Text = "123456";
}
#endregion
/// <summary>
/// 直接創建一個沒有任何屬性TextBox控件
/// </summary>
private void CreateTBControl()
{
//定議一個Textbox控件
TextBox tbTextbox = new TextBox();
//動態增加控件
this.Controls.Add(tbTextbox);
}
顯示如下圖:
/// <summary>
/// 創建一個帶有屬性的TextBox控件
/// </summary>
private void CreateTBControlPrj()
{
//定議一個Textbox控件
TextBox tbTextboxPrj = new TextBox();
//設定控件的位置
tbTextboxPrj.Location = new Point(10, 10);
//設置TextBox的name
tbTextboxPrj.Name = "tbTxb";
//設置控件的Text
tbTextboxPrj.Text = "測試";
//增加控件
this.Controls.Add(tbTextboxPrj);
}
//定議一個控件數組
TextBox[] tbTexbBox;
private void CreateActivityTBControl()
{
tbTexbBox = new TextBox[3];
int iTbNum=0;
for (; iTbNum < 3; iTbNum++)
{
tbTexbBox[iTbNum] = new TextBox();
//設置TextBox的name
tbTexbBox[iTbNum].Name = "txt" + iTbNum.ToString();
//設置控件的Text
tbTexbBox[iTbNum].Text = "txt" + iTbNum.ToString();
//控件縱坐標向下移25
int iYvalue = iTbNum * 25;
//設定控件的位置
tbTexbBox[iTbNum].Location = new System.Drawing.Point(10, iYvalue);
//增加控件
this.Controls.Add(tbTexbBox[iTbNum]);
//設置控件的DoubleClick事件
tbTexbBox[iTbNum].DoubleClick += new EventHandler(tbTexbBox_DoubleClick);
}
}
/// <summary>
/// 控件的DoubleClick事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void tbTexbBox_DoubleClick(object sender, EventArgs e)
{
//修改其中一個控件的屬性
tbTexbBox[2].Text = "123456";
}
#endregion
顯示如下圖: