如何使用键“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"
谢谢。
答案 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?然后,您可以使用密钥检索值。