WinForm下的ComboBox默认是以多行文本来设定显示列表的, 这通常不符合大家日常的应用,
因为大家日常应用通常是键/值对的形式去绑定它的.
那么用键值对的形式如何做?
因为Combox的每一个项的值是一个object, 实际上就是一个键/值对.
我用的是下面这个类的实例作为它的一个项:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Common
{
public class ComboboxListItem
{
private string value = string.Empty;
private string text = string.Empty;
/// <summary>
///
/// </summary>
/// <param name="value">键</param>
/// <param name="text">值</param>
public ComboboxListItem(string value, string text)
{
this.text = text;
this.value = value;
}
public string Value
{
get { return this.value; }
set { this.value = value; }
}
public string Text
{
get { return text; }
set { text = value; }
}
public override string ToString()
{
return this.text;
}
}
}
然后进就可以进行绑定了:
comboBox1.DataSource = list; //绑定数据
绑定数据之后, 就可以对其进行默认选择项的设置, 取值等操作:
comboBox1.SelectedValue = "4"; //设定选择项
//取得当前选择的项
ComboboxListItem selectedItem = (ComboboxListItem)comboBox1.SelectedItem;
string value = selectedItem.Value; //值
string text = selectedItem.Text; //显示的文字