gpt4 book ai didi

c# - 如何设置默认组合框

转载 作者:可可西里 更新时间:2023-11-01 02:59:18 25 4
gpt4 key购买 nike

所以我一直在寻找为我的组合框设置默认值的方法。我发现了一些东西,但似乎都不起作用。

实际上,如果我创建一个简单的组合框并使用 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。

提前谢谢你。

最佳答案

cbxCategory.SelectedIndex 应设置为从 0Items.Count-1 的整数,如

cbxCategory.SelectedIndex  = 2;

你的

 cbxCategory.SelectedIndex = cbxCategory.Items.IndexOf("New") 

只要没有 ComboboxItem 修改字符串 ("New"),就应该返回 -1;

另一种解决方案,虽然我不太喜欢它

foreach(object obj in cbxCategory.Items){ 
String[2] objArray = (String[])obj ;
if(objArray[1] == "New"){
cbxCategory.SelectedItem = obj;
break;
}
}

也许这还需要对您的代码进行以下转换

    foreach (string[] result in list)
{
cbxCategory.Items.Add(result);
}

我还没有测试过代码,我不确定是否转换为 String[2] 但类似的东西应该可以工作

关于c# - 如何设置默认组合框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14589964/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com