获取有关组合框的值的索引获取应用c#

时间:2012-01-31 10:38:29

标签: c# winforms

我们可以使用 FindString 方法轻松获得组合框的索引

int index = cboCountryTwoCode.FindString(localJob.DeliveryCountryTwoCode.Trim());
cboCountryTwoCode.SelectedIndex = index;

所以我只需要知道有没有办法让组合框的索引只是按值而不是通过文本查找。请让我知道有没有类似的。如果没有任何东西那么如何实现我的目标,即获得组合框的索引只是通过值找到。感谢

这样我填充我的组合

        cboCountryTwoCode.DataSource = Utility.LoadCountry();
        cboCountryTwoCode.DisplayMember = "CData";
        cboCountryTwoCode.ValueMember = "CValue";

LoadCountry()将返回数据表。感谢

1 个答案:

答案 0 :(得分:1)

在WinForms中,ComboBox没有明确的项目键/值列表。它有ObjectCollection Items

我认为您可以在对象上实现ToString()以显示其正确的描述。

然后你应该使用一些LINQ来找到正确的项目。像这样:

class MyType
{
    public int Id { get; set; }
    public string Description { get; set; }
    public override string ToString()
    {
        return Description;
    }
}

var selectedObject = cb.Items.Cast<MyType>().SingleOrDefault(i => i.Id.Equals(myId));