方法一:
/// <summary>
/// 检查类别初始化
/// </summary>
private void loadComboBox()
{
//同样可以定义 KeyValuePair<string, string>
List<KeyValuePair<string, int>> listItem = new List<KeyValuePair<string, int>>();
//key:前者 value:后者
//listItem.Add(new KeyValuePair<string, int>("key", value));
listItem.Add(new KeyValuePair<string, int>("2012年", 2012));
comboBoxExamType.DataSource = listItem;
comboBoxExamType.DisplayMember = "Key";
comboBoxExamType.ValueMember = "Value";
comboBoxExamType.SelectedIndex = 0;
}
private void comboBoxExamType_SelectedIndexChanged(object sender, EventArgs e)
{
KeyValuePair<string, int> keyValue = (KeyValuePair<string, int>)comboBoxExamType.SelectedItem;
MessageBox.Show("key:" + keyValue.Key + ",value:" + keyValue.Value);
}
方法二:
/// <summary>
/// ComboBox的项
/// </summary>
class ListItem : System.Object
{
private string _Value = string.Empty;
private string _Text = string.Empty;
/// <summary>
/// 值
/// </summary>
public string Value
{
get { return this._Value; }
set { this._Value=value; }
}
/// <summary>
/// 显示的文本
/// </summary>
public string Text
{
get { return this._Text; }
set { this._Text=value; }
}
public ListItem(string value, string text)
{
this._Value = value;
this._Text = text;
}
public override string ToString()
{
return this._Text;
}
}
通过这个类就可以定义ComboBox的值了, 首先我们定义一个ListItem的清单作为ComboBox的数据源:
List<ListItem> items = new List<ListItem>();
items.Add(new ListItem("0", "Item_0_Text"));
items.Add(new ListItem("1", "Item_1_Text"));
items.Add(new ListItem("2", "Item_2_Text"));
items.Add(new ListItem("3", "Item_3_Text"));
items.Add(new ListItem("4", "Item_4_Text"));
items.Add(new ListItem("5", "Item_5_Text"));
然后进行相应的设置:
//将数据源的属性与ComboBox的属性对应
drpTest.DisplayMember = "Text"; //显示
drpTest.ValueMember = "Value"; //值
然后进就可以进行绑定了:
drpTest.DataSource = items; //绑定数据
绑定数据之后, 就可以对其进行默认选择项的设置, 取值等操作:
drpTest.SelectedValue = "4"; //设定选择项
//取得当前选择的项
ListItem selectedItem = (ListItem)drpTest.SelectedItem;
string value = selectedItem.Value; //值
string text = selectedItem.Text; //显示的文字