有时候需要在程序运行到一定时候或者某个事件之后需要动态生成控件
在C#下一般方式是:

     private Button Db=new Button() ;
      Db.Name="Dy_Button"            //设定名称
      Db.Location=new Point(100,200);//设定位置
      。。。。//其他属性设置

    //这里添加消息处理
      。。
      this.Controls.Add (Db);//添加到控件组中

这样就完成了动态生成 但是需要给控件添加消息处理事件
那么现在就需要在生成控件添加到控件组前 增加如下语句:

Dpb.MouseClick += new EventHandler(this.pictureBox_MouseClick);

现在编写这个消息处理的函数pictureBox_Click()

         private void pictureBox_MouseClick(object sender,EventArgs e)
         {
             MessageBox.Show("click");
         }
这样完成了事件处理的添加

--------------------------------------------------------------------------------------------------

能动态添加就是不怎会定位....

C#动态添加控件        for (j = 0; j < ds.Tables[0].Rows.Count; j++)//ds为Dataset的对象,
C#动态添加控件
        {
C#动态添加控件            
string strname1 = ds.Tables[0].Rows[j][0].ToString();
C#动态添加控件
C#动态添加控件             HtmlGenericControl div
= new HtmlGenericControl("div");
C#动态添加控件             div.Style.Add(
"width", "100px");
C#动态添加控件             div.Style.Add(
"height", "40px");
C#动态添加控件
C#动态添加控件             Label lab
= new Label();
C#动态添加控件             TextBox txt
= new TextBox();
C#动态添加控件             txt.ID
= "txt_object" + j.ToString();
C#动态添加控件             lab.Text
= strname1 + "";
C#动态添加控件             txt.Width
= Unit.Pixel(50);
C#动态添加控件             div.Controls.Add(lab);
C#动态添加控件             div.Controls.Add(txt);
C#动态添加控件
C#动态添加控件            
this.Page.Form.Controls.Add(div);
C#动态添加控件         }
得到文本框里面得值
C#动态添加控件    protected void Button1_Click(object sender, EventArgs e)
C#动态添加控件    
{
C#动态添加控件           
int i = 1;//假定i为1
C#动态添加控件

C#动态添加控件            objText
= ((TextBox)form1.FindControl("txt_object" + i.ToString())).Text.ToString();
C#动态添加控件            Response.Write(objText);
C#动态添加控件     }

double left = 10, top = 20;
Lable1.Style["left"] = left.ToString() + "px";
Lable1.Style["top"] = top.ToString() + "px";

相关文章: