这是我添加控件的代码:
SqlConnection OpTypeconn=new SqlConnection(conn);
SqlCommand OpTypecomm=new SqlCommand("select OperationType from Type_Operation",OpTypeconn);
OpTypeconn.Open();
SqlDataReader OpTypeReader=OpTypecomm.ExecuteReader();
while(OpTypeReader.Read())
{
CheckBox c=new CheckBox();
c.ID=OpTypeReader.GetString(0);
c.Font.Size=9;
c.AutoPostBack=true;
c.Text=OpTypeReader.GetString(0).Trim();
c.CheckedChanged+=new System.EventHandler(this.c_checked);
c.DataBind();
this.Panel1.Controls.Add(c);
}

解决方案 »

  1.   

    CheckedChanged事件的Source是可以分辨出是哪个控件的。你最好先给第一个控件设置一个Name。否则就要遍历此Panel1中所有控件了。
      

  2.   

    SqlConnection OpTypeconn=new SqlConnection(conn);
    SqlCommand OpTypecomm=new SqlCommand("select OperationType from Type_Operation",OpTypeconn);
    OpTypeconn.Open();
    SqlDataReader OpTypeReader=OpTypecomm.ExecuteReader();
    int i = 0;
    while(OpTypeReader.Read())
    {
             i += 1;
    CheckBox c=new CheckBox();
             c.name = "Check" + i.tostring();
    c.ID=OpTypeReader.GetString(0);
    c.Font.Size=9;
    c.AutoPostBack=true;
    c.Text=OpTypeReader.GetString(0).Trim();
    c.CheckedChanged+=new System.EventHandler(this.c_checked);
    c.DataBind();
    this.Panel1.Controls.Add(c);
    }public void this.c_checked(object sender, EventArgs e)
    {
        checkbox a = sender as checkbox;
        switch(a.name)
          case xx:
                 xx.enable = false;
           ....
          .....
    }
    }
      

  3.   

    switch(a.ID)
          case xx:
                 xx.enable = false;
           ....
          .....