如何判断CheckBoxList中SelectedIndexChanged事件是哪个checkbox引发的
请给出完整代码

解决方案 »

  1.   

    private void checkedListBox1_SelectedIndexChanged(object sender, System.EventArgs e)
    {
    this.label1.Text=this.checkedListBox1.SelectedIndex.ToString();
    }
      

  2.   

    拜托 pc_csharp(帮助别人,帮助自己) 
    回答问题要用脑
      

  3.   

    拜托 youkai(加肥猫) ( ) :
    对待别人的帮助要礼貌!
      

  4.   

    private void checkedListBox1_SelectedIndexChanged(object sender, System.EventArgs e)
    {
    this.label1.Text=this.checkedListBox1.SelectedIndex.ToString();
    }
      

  5.   

    下面返回所选项的Text
    this.checkedListBox1.SelectedItem.ToString();下面返回所选项的Index
    this.checkedListBox1.SelectedIndex
      

  6.   

    说明一下,
    一、此问题出在b/s情况下所以,whxleem(feeling) 的方法行不通
    二、SelectedIndex方法取的是checkbox组中id最小的那个值
      

  7.   

    我想重要的是得到选中的项而不是得到哪个CheckBox触发PostBack的吧,如下方法得到选中的项
    Response.Write("选中项的值:<br>");
    foreach(ListItem li in ((CheckBoxList)sender).Items)
    {
    if(li.Selected)
    {
    Response.Write(li.Value+"<br>");
    }
    }
    如果非要得到触发的控件,可以这么做
    Response.Write("您刚才选中的项的ClientID是:"+Request.Form.AllKeys[Page.Request.Form.AllKeys.Length-1]+"<br>");
      

  8.   

    (以上代码写在private void CheckBoxList1_SelectedIndexChanged(object sender, System.EventArgs e){}中)
      

  9.   

    已经实现了,当方法很笨,大家看看还有没有其他方法
    private static bool[] arrtmp; 
    private void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
    if(!IsPostBack)
    {
    arrtmp=new bool[CheckBoxList1.Items.Count];
    for(int i=0;i <=CheckBoxList1.Items.Count-1;i++)
    {
    arrtmp[i]=CheckBoxList1.Items[i].Selected;
    }
    }
    }
    private void CheckBoxList1_SelectedIndexChanged(object sender, System.EventArgs e)
    {
    int clicknum; clicknum=-1;
    for(int i=0;i <= CheckBoxList1.Items.Count-1;i++)
    {
    if(arrtmp[i]!=CheckBoxList1.Items[i].Selected)
    {
    arrtmp[i] =CheckBoxList1.Items[i].Selected;
    clicknum=i;
    break;
    }
    }
    if(clicknum>=0)
    {
    TextBox1.Text=CheckBoxList1.Items[clicknum].ToString();
    } }