【发布时间】:2013-09-14 19:59:04
【问题描述】:
这段代码有什么问题?
myComboBox.Items.Clear();
myComboBox.Items.AddRange(new string[]{"one","two"});
myComboBox.SelectedValue = "one";
它显示时没有选择任何内容。
【问题讨论】:
-
Asp.net, win forms, wpf?
这段代码有什么问题?
myComboBox.Items.Clear();
myComboBox.Items.AddRange(new string[]{"one","two"});
myComboBox.SelectedValue = "one";
它显示时没有选择任何内容。
【问题讨论】:
如果您像这样填充组合框:
myComboBox.Items.AddRange(new string[]{"one","two"});
您必须使用ComboBox.SelectedItem 或ComboBox.SelectedIndex 属性来设置/获取所选项目:
myComboBox.SelectedItem = "one"; //or
myComboBox.SelectedIndex = 0;
ComboBox.SelectedValue属性继承自ListControl并且必须仅在以下情况下使用:
- 控件绑定到
DataSource- 和
ValueMember和DisplayMember属性已定义。
【讨论】:
几个不同的选项:
1) 将SelectedValue 更改为SelectedIndex
myComboBox.SelectedIndex = 0; //your first item
请忽略这个,这是针对asp.net的
2) 手动添加ListItems
myComboBox.Items.Clear();
myComboBox.Items.Add(new ListItem() { Text = "one", Selected = true };
myComboBox.Items.Add(new ListItem() { Text = "two" };
只需确保您在给定时间选择的项目不超过一项。
【讨论】: