【问题】
C#中的ComboBox中,已经手动填入了几个值,供显示了:
也已经初始化时,选择第一个了:
1 | cmbDeliverTo.SelectedIndex = 0; |
现在的问题是,
后来的某个时候,想要更改其中的子项中的某个值。
把:
xxx@xxx.com |
改为:
yyy@yyy.com |
【解决过程】
1.参考:
C# – Change index of ComboBox item?
去试试:
1 | cmbDeliverTo.Items.Insert(0, "yyy@yyy.com" ); |
结果只是在index为0的位置,另外,再插入了一个:
不是我所要的,更改原有的index为0的值。
2.所以,再去改为:
1 2 | cmbDeliverTo.Items.RemoveAt(0); cmbDeliverTo.Items.Insert(0, "yyy@yyy.com" ); |
结果就可以了。
但是却默认没有选择了:
所以再添加当前的选择,改为:
1 2 3 | cmbDeliverTo.Items.RemoveAt(0); cmbDeliverTo.Items.Insert(0, "yyy@yyy.com" ); cmbDeliverTo.SelectedIndex = 0; |
然后终于可以了:
【总结】
ComboBox中,没有直接更改某个子项的值。
暂时是用:
1 2 3 | comboBox1.Items.RemoveAt(0); comboBox1.Items.Insert(0, "yyy@yyy.com" ); comboBox1.SelectedIndex = 0; |
实现:
先删除旧的,再插入新的,再确保更新选择的项,而实现,更新index为0的位置的值。
转载请注明:在路上 » 【已解决】C#中更改ComboBox的子项的值