3

这段代码有什么问题?

myComboBox.Items.Clear();
myComboBox.Items.AddRange(new string[]{"one","two"});
myComboBox.SelectedValue = "one";

它显示没有任何选择。

4

2 回答 2

8

如果您像这样填充组合框:

myComboBox.Items.AddRange(new string[]{"one","two"});

您必须使用ComboBox.SelectedItemComboBox.SelectedIndex属性来设置/获取所选项目:

myComboBox.SelectedItem = "one"; //or
myComboBox.SelectedIndex = 0; 

ComboBox.SelectedValue属性继承自 ListControl并且必须在以下情况下使用:

  • 控件绑定到一个DataSource
  • ValueMemberDisplayMember属性已定义。
于 2013-09-10T23:22:16.123 回答
1

几个不同的选择:

1)SelectedValue改为SelectedIndex

myComboBox.SelectedIndex = 0; //your first item

请忽略这个,这是针对asp.net的

2)ListItem手动添加

myComboBox.Items.Clear();
myComboBox.Items.Add(new ListItem() { Text = "one", Selected = true };
myComboBox.Items.Add(new ListItem() { Text = "two" };

只需确保您在给定时间选择的项目不超过一项。

于 2013-09-10T23:22:28.747 回答