C#学习记录(35)windows应用程序基础之ListBox和CheckListtBox控件

一.常用属性

1.ListBox和CheckListtBox控件共有的属性

SelectedIndex     这个值表示列表框中选中项的的索引号,从0开始

ColumnWidth     在包含多个列的列表框中,这个属性指定列宽
Items                   Items 集合包含列表框中的所有选项,使用这个集合的属性可以增加和删除选项
MultiColumn      列表框可以有多个列。使用这个属性可以获取是否采用多列形式的信息,也可以设置是否采
用多列形式
SelectedIndices  这个属性是个集合,包含列表框中选中项的所有基于0 的索引
SelectedItem      在只能选择一个选项的列表框中,这个属性包含选中的选项。在可以选择多个选项的列表框
中,这个属性包含选中项中的第一项
SelectedItems     这个属性是一个组合,包含当前选中的所有选项
SelectionMode    在列表框中,可以使用ListSelectionMode 枚举中的4 种选择模式:
                            . None:不能选择任何选项
                            . One:一次只能选择一个选项
                            . MultiSimple:可以选择多个选项。使用这个模式,在单击列表中的一项时,该项就会
                                                    被选中,即使单击另一项,该项也仍保持选中状态,除非再次单击它
                            . MultiExtended:可以选择多个选项,用户还可以使用Ctrl、Shift 和箭头键进行选择。
                                                    它与MultiSimple 不同,如果先单击一项,然后单击另一项,则只选中第二个项。
Sorted                 true会使列表框对它包含的选项按字母顺序排序

Text                     这个Text 属性与其他控件的Text 属性不同。如果设置列表框控件的Text 属性,它将搜索匹配该文本的选项,并选择该选项。如果获取Text 属性,返回的值是列表中第一个选中的选项。如果SelectionMode 是None,就不能使用这个属性CheckedIndices (只用于CheckedListBox)这个属性是一个集合,包含CheckedListBox 中状态是Checked 或Indeterminate 的所有选项的索引

2.以下为仅仅适用于CheckListBox控件的属性:

     CheckedItems            这是一个集合,包含CheckedListBox中状态是Checked或Indeterminate的所有选项
     CheckOnClick              如果这个属性是true,则选项就会在用户单击它时改变它的状态    

    ThreeDCheckBoxes     设置这个属性,就可以选择平面或正常的CheckBoxes

二.常用方法

(1)Add方法

    该方法用于动态添加条目。用法如下:

checkedListBox1.Items.Add(“条目一”);//参数可以是一个字符串或者是一个条目

或checkedListBox1.Items.Add(“条目一”,true);//第二个参数是布尔类型的,指示是否让条目被勾选

(2)RemoveAt方法

该方法用于移除指定的条目,参数是条目的索引值。用法如下:

checkedListBox1.Items.RemoveAt(1)。

(3)Insert方法

该方法的作用是在指定位置插入一个条目,有两个参数,分别是index和item。index是条目的索引,item可以是一个条目,也可以是一个字符窜。其用法如下:

checkedListBox1.Items.Insert(i,"条目一");

(4)GetItemChecked方法

该方法返回第i项条目是否被勾选(不是选中),如果是则返回true,否则为false。参数是条目的索引值。其用法如下:

bool  isChecked=checkedListBox1.GetItemChecked(i);

(5)SetItemChecked方法

设置第i项条目是否被选中,参数有两个,第一个是索引,第二个是布尔值。第二个参数如果选true,则将第i项设置为勾选,否则设置为不勾选。其用法如下:

checkedListBox1.SetItemChecked(i,true);

(6)Clear方法

该方法的作用是清除所有的条目。其用法如下:

checkedListBox1.Clear();


三.常用事件

(1)ItemCheck事件

当条目被勾选时发生,其用法如下:

        private void checkedListBox1_ItemCheck(object sender, ItemCheckEventArgs e)
        {
            //通过索引引用勾选的条目
            textBox1.Text = textBox1.Text +"\r\n"+ checkedListBox1.Items[e.Index].ToString();
        }

(2)SelectedIndexChanged和SelectedValuedChanged事件

        这两个事件都是在条目被选中时发生(不一定被勾选)


四.例程


1.添加CheckedListBox控件,添加Item属性:One Two Three Four Five Six Seven Eight Nine(记得换行);属性CheckOnClick 改成true。

    在构造函数中添加checkedListBoxPossibleValues.Items.Add("Ten");    ////添加10个项目One-Ten,如果写“Eight”则为One-Eight。

2.添加ListBox和按钮。添加按钮Move处理程序:

    private void buttonMove_Click(object sender, EventArgs e)
    {
      // 1.如果选中的个数大于0;
      if (checkedListBoxPossibleValues.CheckedItems.Count > 0)
      {
          listBoxSelected.Items.Clear();//1.清空listBoxSelected 列表框中的所有选项

        // 2.循环checkedlist集合,把每一项加入到listboxSelected列表框中;
        foreach (string item in checkedListBoxPossibleValues.CheckedItems)
        {
          listBoxSelected.Items.Add(item.ToString());
        }
        ///3.删除所有选中的标志
        for (int i = 0; i < checkedListBoxPossibleValues.Items.Count; i++)
          checkedListBoxPossibleValues.SetItemChecked(i, false);
      }

    }

3.添加按钮导出显示和文本框,添加按钮的响应函数将列表框中的数据显示到文本框中。

    private void btnshow_Click(object sender, EventArgs e)
    {
        if (listBoxSelected.Items.Count > 0)
        {
            foreach (string item in listBoxSelected.Items)
            {
                textBox1.Text += item.ToString() + "\r\n";
            }
        }

    }

    程序运行结果如下所示:


猜你喜欢

转载自blog.csdn.net/shenseyoulan/article/details/80948959