【发布时间】:2013-01-13 10:33:44
【问题描述】:
所以我一直在寻找为我的组合框设置一个默认值。我发现了一些东西,但它们似乎都不起作用。
实际上,如果我创建一个简单的组合框并使用comboBox1.SelectedIndex = comboBox1.Items.IndexOf("something"),它就可以工作,但是一旦我动态生成组合框的内容,我就无法再让它工作了。
这就是我填充组合框的方式(位于类的构造函数中);
string command = "SELECT category_id, name FROM CATEGORY ORDER BY name";
List<string[]> list = database.Select(command, false);
cbxCategory.Items.Clear();
foreach (string[] result in list)
{
cbxCategory.Items.Add(new ComboBoxItem(result[1], result[0]));
}
我似乎无法让它设置一个默认值,比如如果我将cbxCategory.SelectedIndex = cbxCategory.Items.IndexOf("New") 放在上面的代码下面,它就不起作用了。
顺便说一句,WinForms。
提前谢谢你。
【问题讨论】:
-
WPF?窗体?请注明!在标签、标题或问题中。
-
您是否有调试器来检查该值是否设置为有效索引(即不是 -1 等)?如果是,您可能只需要调用 cbxCategory.Refresh()
-
SelectedIndex 应该可以正常工作。正如答案所建议的那样,请确保您要查找的内容确实存在...否则我建议使用固定数字而不是搜索。
-
遗憾的是,固定数字不是一个选项。我将运行调试。
-
您能分享一下您的
ComboBoxItem课程吗?
标签: c# winforms combobox populate