C#控件之ComboBox控件使用

2025-10-30 00:48:57

1、首先如果要给ComboBox控件输入要显示的内容,方法是点击控件会显示如下图所示:

C#控件之ComboBox控件使用

2、然后点击”编辑项”,如下所示:

C#控件之ComboBox控件使用

3、下面在这里输入控件要显示的内容,即可。

如果要让ComboBox控件设置默认显示项,代码如下所示: 

//让ComboBox控件显示“明细计划”

comboBox1.Text = "明细计划";

comboBox1.SelectedIndex = 0;

或者

string[] array = { "Red", "Green", "White", "Blue", "Yellow" };

comboBox1.DataSource = array;

或者

for (int i = 0; i < 5; i++)

{

     comboBox1.Items.Add(i + 1);

}

其中,赋值最关键的是SelectedIndex的赋值,而不是Text的赋值。

4、下面再打开ComboBox控件的属性下图位置,设置控件的下拉框是否可编辑等状态,如下图所示:

C#控件之ComboBox控件使用

5、根据上图可以看到ComboBox的常用下拉格式DropDownStyle 有三种,分别是:

Simple是文本可编辑,下拉列表总可见;

DropDown是默认样式,文本可编辑,下拉需用户点击箭头;

DropDownList是文本不可编辑,下拉需用户点击箭头;

需要注意的是DropDownList形式直接使用comboBox1.Text = "值";形式来赋值结果会显示为空,而不会报任何错误或异常提示。

6、如果动态添加或者显示ComboBox下拉框的内容,首先需要在ComboBox属性的“字符串集合编辑器”中清空之前的内容,即如下所示:

C#控件之ComboBox控件使用

7、或者使用Clear命令,代码如下所示:

this.comboBox1.Items.Clear();

动态添加ComboBox下拉框的内容的代码如下所示:

if (this.comboBox1.Items.Count > 0)

{

      this.comboBox1.Items.Clear();

      this.comboBox1.Items.AddRange(new object[] {

      "明细计划",       

      "执行反馈"});

      comboBox1.Text = "明细计划";

       comboBox1.SelectedIndex = 0;

}

注意上述是通过this.comboBox1.Items.AddRange来实现项的添加,不过要注意,如果不清空,会出现重复添加的现象。

8、如果要获取控件选中项的内容,代码如下所示:

MessageBox.Show(comboBox1.SelectedItem.ToString());

9、如果要获取控件选中项的索引,代码如下所示:

MessageBox.Show(comboBox1.SelectedIndex.ToString());

10、如果要与数据库相连接并进行数据源的绑定,代码如下所示:

private void DoBindDataSource()

{

      //构造数据源(或从数据库中查询)

      DataTable ADt = new DataTable();

      DataColumn ADC1 = new DataColumn("F_ID", typeof(int));

      DataColumn ADC2 = new DataColumn("F_Name", typeof(string));

      ADt.Columns.Add(ADC1);

      ADt.Columns.Add(ADC2);

      for (int i = 0; i < 3; i++)

      {

           DataRow ADR = ADt.NewRow();

           ADR[0] = i+1;

           ADR[1] = "Name_" + (i+1);

           ADt.Rows.Add(ADR);

      }

      //进行绑定

      comboBox1.DisplayMember = "F_Name";  //控件显示的列名

      comboBox1.ValueMember = "F_ID";  //控件值的列名

      comboBox1.DataSource = ADt;

}

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢