Winform/C#入门编程之第二部分常用控件(三:组合框控件ComboBox)

简介:

        介绍组合框控件ComboBox。

介绍:

1.属性

常用属性
Name 获取或设置控件的名称。
Text

获取或设置与此控件显示的文本。在此控件中一般不适用。

Items

获取一个对象,该对象表示该 ComboBox 中所包含项的集合。在属性直接添加列表项。

DropDownStyle
获取或设置指定组合框样式的值
Simple 指定列表始终可见,并指定文本部分可编辑。 这表示用户可以输入新的值,而不仅限于选择列表中现有的值。
DropDown 通过单击下箭头指定显示列表,并指定文本部分可编辑。 这表示用户可以输入新的值,而不仅限于选择列表中现有的值。 使用此设置时, AutoCompleteModeAppend 值的作用与 SuggestAppend 值相同。 这是默认样式。
DropDownList 通过单击下箭头指定显示列表,并指定文本部分不可编辑。 这表示用户不能输入新的值。 只能选择列表中已有的值。

AutoCompleteMode 和 AutoCompleteSource 属性必须一起使用。

在 AutoCompleteMode 设置为 SuggestAppend,且 AutoCompleteSource 设置为 ListItems 的情况下,行为如下:

  • 如果字符串列表为空,则按 Backspace 或 Delete 键将不做任何操作。

  • 如果按 Backspace 键的时间小于一秒,则选中前一项;如果字符串列表为空,则不选中任何内容。

  • 如果按 Backspace 键的时间超过一秒,则选中第一项。

  • 如果按 Delete 键,则选中第一项。

Sorted

获取或设置指示是否对组合框中的项进行了排序的值。

SelectedText

       可以使用 SelectedText 属性来检索或更改 ComboBox 控件中的当前选定文本。 但应注意,所选内容会因用户交互而自动更改。 例如,如果在按钮 Click 事件处理程序中检索 SelectedText 值,则此值将为空字符串。 这是因为,当输入焦点从组合框移动到按钮时,会自动清除所选内容。

       当组合框失去焦点时,选择点将移动到文本的开头,并且会取消选定任何选定文本。 在这种情况下,获取 SelectedText 属性会检索空字符串,设置 SelectedText 属性会将指定值添加到文本开头。

当组合框获得焦点时,将自动选定控件中的全部文本。 如果调用控件的 Focus 方法来设置输入焦点,则会选定全部文本,而不管控件是否已具有焦点。

        当用户从下拉列表中选择项,或通过使用上箭头和下箭头选择项时,将自动选定新项的文本。 但是,如果尝试获取 SelectedIndexChangedSelectedValueChanged 事件处理程序中的 SelectedText 值,则此属性会返回空字符串。 这是因为,在这些事件发生时,已清除了以前的 SelectedText 值,并且尚未设置新值。 若要检索 SelectedIndexChangedSelectedValueChanged 事件处理程序中的当前值,请改用 SelectedItem 属性。

SelectedIndex

获取或设置指定当前选定项的索引。

SelectedItem

获取或设置 ComboBox 中当前选定的项。

Items

获取一个对象,该对象表示该 ComboBox 中所包含项的集合。

2.事件

常用事件
SelectedIndexChanged

SelectedIndex 属性更改后发生。

3.使用

  1. 一般更改属性Name,选择DropDownStyle为DropDownList,使用事件SelectedIndexChanged。
  2. 其它属性参数默认。DropDownStyle为DropDownList时,可禁止使用时更改。
  3. 此控件属性Text,不需要更改。
  4. 属性Sorted,为false时,不排序。
  5. 不使用SelectText获取当前选中文本。一般通过属性SelectedItem或者Text。

如下图:

4.原理

  1. SelectedIndexChanged事件和comboBox1_SelectedIndexChanged绑定。选择不同项时,会触发。
this.comboBox1.SelectedIndexChanged += new System.EventHandler(this.comboBox1_SelectedIndexChanged);

5.演示

  1. 通过此控件的视图属性Items,添加选项或在窗体的Load事件中即代码里添加选项。
  2. 获取或设置索引。
  3. 获取选择的文本。
        private void Form1_Load(object sender, EventArgs e)
        {
            //添加项
            comboBox1.Items.Add("9600");
            comboBox1.Items.Add("115200");
            //选择第几个
            comboBox1.SelectedIndex = 0;
        }

        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            //获取索引
            int index = comboBox1.SelectedIndex;

            //获取选定文本
            //第一种
            string item1 = comboBox1.SelectedItem.ToString();

            //第二种
            string item2 = comboBox1.Text;

            //第三种,DropDownStyle != DropDownList
            comboBox1.Focus();
            string str = comboBox1.SelectedText;
        }

 如下图:

  • 手动添加选项 

猜你喜欢

转载自blog.csdn.net/C_gyl/article/details/85158346