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