ListBox选中项数量显示于TextBox文本框中

要完成的功能:点击ListBox选中一个或多个选项时,TextBox中自动显示选中项的数量。

如下图显示:

                          

分析:

你原先错误的思路:ListBox配置好数据源,然后在TextBox的后台事件TextBox1_TextChanged中写入方法获取ListBox中被选中项的数量的值。

正确思路:1.此功能是点击ListBox控件引发的事件,ListBox是主动,TextBox是被动,所以是ListBox主动传值给TextBox,而不是TextBox去获                 取ListBox选中项数量的值。所以应该是在ListBox的后台事件ListBox1_SelectedIndexChanged中写入方法。

              2.赋值等式的左边不能是方法体,只能是参数或变量名。如不能写成Convert.ToInt32(TextBox1.Text)=ListBox1.Items.Count;

                而写成TextBox1.Text=ListBox1.Items.Count+"";(这样左右都为string类型)

              3.ListBox只能获取项目的总数量ListBox1.Items.Count,而无法通过函数直接获取被选中项目的总数量。因而需要通过for循环判断每                   项是否被选中,且设置一个int型变量count计数。

正确代码如下:

              

protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
    {
        int count = 0;
        for (int i = 0; i < ListBox1.Items.Count; i++)
        {
            if (ListBox1.Items[i].Selected)
            {
                count++;
            }
        }
        TextBox1.Text = count + ""; //等式两边均为string类型
    }

 

 

                          

posted @ 2015-01-29 15:07  Bella工作坊  阅读(864)  评论(0编辑  收藏  举报