C#中comboBox控件的一些基本用法小结

private void InitCombo()
        {
            dt.Columns.Add("Text");
            dt.Columns.Add("Value");
            DataRow dr1 = dt.NewRow();
            DataRow dr2 = dt.NewRow();
            DataRow dr3 = dt.NewRow();
            dr1["Text"] = "0-明细计划";
            dr1["Value"] = "0";
            dr2["Text"] = "1-汇总计划";
            dr2["Value"] = "1";
            dr2["Text"] = "2-执行反馈";
            dr2["Value"] = "2";
            dt.Rows.Add(dr1);
            dt.Rows.Add(dr2);
            dt.Rows.Add(dr3);
            this.comBoxCXLX.DataSource = dt;
            this.comBoxCXLX.DisplayMember = "Text";
            this.comBoxCXLX.ValueMember = "Value";
        }

上面代码可以实现将明细计划、汇总计划、执行反馈三个选项绑定到ComboBox的下拉框中。

Value的使用:comBoxCXLX.SelectedValue

假如说:该comboBox控件显示内容受别的控件限制,如何显示给comboBox空间赋值呢?实现代码如下:

//让combox控件显示“明细计划”
comBoxCXLX.Text = "明细计划";
comBoxCXLX.SelectedIndex = 0;
//让combox控件显示“汇总计划”
comBoxCXLX.Text = "汇总计划";
comBoxCXLX.SelectedIndex = 1;

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

小注:

       1、这里也需要输入你要显示的内容:

        2、下面的属性可以控制,combox下拉框是否可编辑等状态

3、ComBox控件设置默认显示项

        找到相应窗体的Designer.cs文件,在Designer.cs文件代码中找到,相应代码,如下:

//
// comBoxCXLX
//
this.comBoxCXLX.Anchor = System.Windows.Forms.AnchorStyles.None;
this.comBoxCXLX.DisplayMember = "Text";
this.comBoxCXLX.FormattingEnabled = true;
this.comBoxCXLX.Items.AddRange(new object[] {
"明细计划",
"汇总计划",
"执行反馈"});
this.comBoxCXLX.Location = new System.Drawing.Point(122, 215);
this.comBoxCXLX.Name = "comBoxCXLX";
this.comBoxCXLX.Size = new System.Drawing.Size(161, 20);
this.comBoxCXLX.TabIndex = 333;
this.comBoxCXLX.ValueMember = "Value";

假如我想要combox控件默认显示,“执行反馈”这个内容呢?
很简单,在上述代码的末尾加上,下面这句话即可:

this.comBoxCXLX.SelectedIndex = 2;

当然在.cs也就是普通代码中加上上面这句话,也可以实现默认显示。

4、如何动态添加或者显示combox下拉框的内容呢?

      首先,需要在combox属性的“字符串集合编辑器”中清空之前的内容(当然在使用之前直接调用clear函数也可以)。

 if (this.comBoxCXLX.Items.Count > 0)
                {
                    this.comBoxCXLX.Items.Clear();
                    this.comBoxCXLX.Items.AddRange(new object[] {
            "明细计划",
            "执行反馈"});
                    comBoxCXLX.Text = "明细计划";
                    comBoxCXLX.SelectedIndex = 0;
                }

      可以通过this.comBoxCXLX.Items.AddRange来实现,项的添加,不过要注意,如果不清空,会出现重复添加的现象奥。

时间: 2024-09-16 05:24:07

C#中comboBox控件的一些基本用法小结的相关文章

C# 中ComboBox控件如何根据Text中输入的值,自动筛选Itens内的内容

问题描述 最近做一个winform项目,需求是根据客户在ComboBox控件中Text输入的值,自动过滤出ComboBox的Items中包含输入项的集合.如:ComboBox的items中为;208011002012080110010180423001023当客户输入208时,Items中自动筛选出符合的集合2080110020120801100101当客户清除输入时items中的集合又恢复成初始状态. 解决方案 解决方案二:ajax.....解决方案三:引用1楼jt9079的回复: ajax.

VS C# 怎样一次性给多个COMBOBOX控件添加ITEMS?

问题描述 VS C# 怎样一次性给多个COMBOBOX控件添加ITEMS? 就像在VB6.0中应用控件数组给相同的控件赋值一样,VS中应该怎样写? 解决方案 ComboBox[] cbs = new ComboBox[] { comboBox1, comboBox2, ... }; string[] items = { "a", "b", "c" }; foreach (var cb in cbs) { foreach (var item in

MFC之ComboBox控件用法实例教程_C 语言

本文以实例形式较为详细的讲述了MFC中ComboBox控件的用法.分享给大家供大家参考之用.具体方法如下: 一.ComboBox简介: ComboBox控件是由一个文本输入控件和一个下拉菜单组成的.用户可以从一个预先定义的列表里选择一个选项,同时也可以直接在文本框里面输入文本. 从工具栏中拖一个Combo Box控件.右击添加变量,变量名为cbBox. 二.用法: 1.为控件添加选项,指定默认选项 cbBox.AddString(_T("one")); cbBox.AddString(

向DataGrid控件中添加ComboBox控件

combobox控件|datagrid|datagrid控件   在前面看到了很多关于怎样向DataGrid中添加ComboBox控件的方法.使用的方法全部都是在VB6.0中的方法. 我还是要说说在CSND中发贴的朋友. 现在所谓的.NET编程人员,不知道是怎么了呢!只是停留在使用.NET的编程环境中.并没有真正的了解面向对象的.NET编程思想. 我现在就利用继承DataGridColumnStyle完成向DataGrid中添加ComboBox. 希望这样有助于大家了解真正的面向对象编程的思想.

Visual C# 2005中让ComboBox控件显示出多个数据源属性

之前,我们在"如何使用简单绑定来显示多个数据源属性"一节中就曾经提到过,简单绑定并不直接支持数据源属性串连.同样,ComboBox控件也不直接支持数据源属性串连.也就是说,在默认状态下,ComboBox控件只能绑定至数据源的某单一属性,而不能绑定至属性串联后的结果.虽然不能直接做到,但是却可以间接做到,解决的方法就是利用ComboBox控件的Format属性来串联多个数据源属性. 程序范例1 图 3-44 图3-44所示的是程序范例CH3_DemoForm028.cs的执行画面,其中C

嵌入式开发-在Window CE 操作系统中,如何在DataGrid 中添加ComboBox 控件

问题描述 在Window CE 操作系统中,如何在DataGrid 中添加ComboBox 控件 最近在开发手持机,因为公司要求,将ERP 系统置入到手持机中,发现在Window CE 系统中,很多 控件都无法使用.譬如说,要在DataGrid 中添加列,要求在DataGrid 中操作数据,下拉的 ComBobox 就没有,也没有DataGridComBoBox 列,如何处理,请各位兄弟指教. QQ:870088133 解决方案 CE版的控件是精简的,很多功能都没有.需要自己实现. 你说的添加C

WinForm的窗体中怎么在DataGrid中放入ComboBox控件(50分)

问题描述 WinForm的窗体中怎么在DataGrid中放入ComboBox控件我的代码:DataGridTextBoxColumndgtb=(DataGridTextBoxColumn)DBG.TableStyles[0].GridColumnStyles[0];ComboBoxcbmDBG=newComboBox();cbmDBG.Items.AddRange(newobject[]{"选项一","选项二","选项三","选项四&q

请教大家,如何把ComboBox控件中的字符串类型的数值转成int类型的数值?

问题描述 请教大家,如何把ComboBox控件中的字符串类型的数值转成int类型的数值? 解决方案 解决方案二:try{intdata=convertToint(ComboBox.selectedText);}catch(Exception){messageBox.Show("invalidcast");}解决方案三:intvalue=-1;if(int.TryParse(this.comboBox1.Text.Trim(),refvalue)){转换成功;}else{转换失败;}解决

同时绑定编码和名称到ComboBox控件(WinForm)

combobox控件|编码 在使用ComboBox时,经常需要显示给用户名称,但接收用户信息时,却要接收用户选择的编码,以下方法实现将编码和名称同时绑定到ComboBox控件,随时可以取出用户选择的项目名称或是选择的项目编码. // 生成新的DataTable (也可以是从数据库中查询出的结果) DataTable dt = new DataTable(); dt.Columns.Add("id"); dt.Columns.Add("name"); // 为Data