【已解决】C#中更改ComboBox的子项的值

【问题】

C#中的ComboBox中,已经手动填入了几个值,供显示了:

combobox edit items

has entered some value for show

也已经初始化时,选择第一个了:

cmbDeliverTo.SelectedIndex = 0;

现在的问题是,

后来的某个时候,想要更改其中的子项中的某个值。

把:

xxx@xxx.com

改为:

yyy@yyy.com

【解决过程】

1.参考:

C# – Change index of ComboBox item?

去试试:

cmbDeliverTo.Items.Insert(0, "yyy@yyy.com");

结果只是在index为0的位置,另外,再插入了一个:

can insert to index 0

不是我所要的,更改原有的index为0的值。

2.所以,再去改为:

            cmbDeliverTo.Items.RemoveAt(0);
            cmbDeliverTo.Items.Insert(0, "yyy@yyy.com");

结果就可以了。

但是却默认没有选择了:

default no select when insert ok

所以再添加当前的选择,改为:

            cmbDeliverTo.Items.RemoveAt(0);
            cmbDeliverTo.Items.Insert(0, "yyy@yyy.com");
            cmbDeliverTo.SelectedIndex = 0;

然后终于可以了:

insert select index 0 ok

 

【总结】

ComboBox中,没有直接更改某个子项的值。

暂时是用:

comboBox1.Items.RemoveAt(0);
comboBox1.Items.Insert(0, "yyy@yyy.com");
comboBox1.SelectedIndex = 0;

实现:

先删除旧的,再插入新的,再确保更新选择的项,而实现,更新index为0的位置的值。



发表评论

电子邮件地址不会被公开。 必填项已用*标注

无觅相关文章插件,快速提升流量