C#-如何通过比较我的int值在组合框中设置所选项目?

时间:2018-06-28 13:59:16

标签: c# .net winforms combobox

我正在使用带有文本和值的项目的组合框。现在,我想简单地通过将其值与提供的值进行比较来选择一个项目。我正在遍历这些项目并进行如下比较。下面的代码工作正常,但是有更好或更简单的方法吗?我发现可能重复的here,但是它适用于字符串值而不是整数。

foreach (ComboboxItem item in this.CampaignList.Items)
{
    if (Convert.ToInt16(item.Value) == objAACampaign.CompanyId)
    {
        this.CampaignList.SelectedIndex = this.CampaignList.Items.IndexOf(item);
        break;
    }
}

1 个答案:

答案 0 :(得分:4)

使用显示和价值成员

创建这样的自定义类:

TestStatic

现在加载要显示在class MyCustomClass { //important to have get set part public _int { get; set; } public _string { get; set; } } 内部的数据,然后将该列表绑定到组合框并按如下所示设置其显示和值成员:

List<MyCustomClass>()

现在只需使用myComboBox.DisplayMember = "_string"; myComboBox.ValueMember = "_int"; myComboBox.DataSource = myList; //this is List<MyCustomClass>

重要!!!

由于性能,在将数据源绑定到组合框之前声明displayMember和valueMember。在互联网上搜索更多信息。