如何设置默认组合框?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (26)

如何设置默认组合框?

实际上,如果我创建一个简单的组合框并使用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应设置为0到Items.Count-1之间的整数

cbxCategory.SelectedIndex  = 2;

你的

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

应该返回-1,只要没有ComboboxItem对字符串进行修改(“New”);

另一个解决方案虽然我不太喜欢

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);
    }
用户回答回答于

看起来像在为cbxCategory.Items集合搜索字符串,但它包含ComboBoxItem类型的项目。因此,搜索将返回-1。

所属标签

可能回答问题的人

  • 找虫虫

    0 粉丝0 提问6 回答
  • 爸爸

    腾讯 · 客户端安全 (已认证)

    4 粉丝4 提问5 回答
  • 优惠活动秘书

    0 粉丝2 提问4 回答
  • 人生的旅途

    10 粉丝484 提问4 回答

扫码关注云+社区

领取腾讯云代金券