在加载了Objects的ComboBox中选择值

时间:2009-10-13 14:06:40

标签: c# winforms

如何使用键“02”选择组合框中的项目?

public class GenericComboBox
{
    private string _key = string.Empty;
    private string _value = string.Empty;

    public string Key
    {
        get { return _key; }
        set { _key = value; }
    }

    public string Value
    {
        get { return _value; }
        set { _value = value; }
    }

    public GenericComboBox(string key, string value)
    {
        _key = key;
        _value = value;
    }
}

//Add data
IList<GenericComboBox> data = new List<GenericComboBox>();

data.Add(new GenericComboBox("01", "01 text"));
data.Add(new GenericComboBox("02", "02 text"));
data.Add(new GenericComboBox("03", "03 text"));

comboBox1.DataSource = data;
comboBox1.ValueMember = "Value";

//comboBox1.SelectItem With key equal "02"

谢谢。

4 个答案:

答案 0 :(得分:1)

设置SelectedValue属性。 ComboBox将选择设置了该值的项目。

答案 1 :(得分:1)

.Net 2.0 :(数据需要是List而不是IList。)

    this.comboBox1.SelectedItem = data.Find(delegate(GenericComboBox gc) {return gc.Key == "02"; });

.Net 3.5:

    this.comboBox1.SelectedItem = data.First(gc => gc.Key == "02");

答案 2 :(得分:1)

覆盖GenericComboBox类中的Equals

public override bool Equals(object obj)
{
   return string.Compare(Key, obj.ToString(), true) == 0;
}

然后这段代码应该有效:

comboBox1.SelectedItem = "02";

答案 3 :(得分:0)

如何使用Dictionary而不是IList?然后,您可以使用密钥检索值。