新建Form窗体,拖动ComboBox控件,3个Button按钮控件
public partial class Form1 : Form { public Form1() { InitializeComponent(); } /// <summary> /// ComboBoxItem /// </summary> public class ComboBoxItem { /// <summary> /// 文本 /// </summary> public string Text { get; set; } /// <summary> /// 值 /// </summary> public int Value { get; set; } /// <summary> /// 输出 /// </summary> /// <returns></returns> public override string ToString() { return Text; } } /// <summary> /// 使用方式1 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button1_Click(object sender, EventArgs e) { comboBox1.Items.Clear(); ComboBoxItem item = new ComboBoxItem(); item.Text = "未知"; item.Value = 0; this.comboBox1.Items.Add(item); item = new ComboBoxItem(); item.Text = "男"; item.Value = 1; this.comboBox1.Items.Add(item); item = new ComboBoxItem(); item.Text = "女"; item.Value = 2; this.comboBox1.Items.Add(item); // 选中默认 comboBox1.SelectedIndex = 1; // 获取选中项 ComboBoxItem comboBoxItem = (ComboBoxItem)comboBox1.SelectedItem; // 显示值 MessageBox.Show("显示值:" + comboBoxItem.Text.ToString()); // 实际值 MessageBox.Show("实际值:" + comboBoxItem.Value.ToString()); } /// <summary> /// 使用方式2 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button2_Click(object sender, EventArgs e) { comboBox1.Items.Clear(); List<ComboBoxItem> items = new List<ComboBoxItem>(); ComboBoxItem item = new ComboBoxItem(); item.Text = "未知"; item.Value = 0; items.Add(item); item = new ComboBoxItem(); item.Text = "男"; item.Value = 1; items.Add(item); item = new ComboBoxItem(); item.Text = "女"; item.Value = 2; items.Add(item); // 非必要设置 comboBox1.DataSource = items; comboBox1.DisplayMember = "Text"; comboBox1.ValueMember = "Value"; // 选中默认 comboBox1.SelectedIndex = 2; // 获取选中项 MessageBox.Show("显示值:" + comboBox1.Text.ToString()); MessageBox.Show("实际值:" + comboBox1.SelectedValue.ToString()); } /// <summary> /// 使用方式3 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button3_Click(object sender, EventArgs e) { comboBox1.Items.Clear(); DataTable dt = new DataTable(); dt.TableName = "dt"; dt.Columns.Add("Text"); dt.Columns.Add("Value"); DataRow dr = dt.NewRow(); dr["Text"] = "未知"; dr["Value"] = "0"; dt.Rows.Add(dr); dr = dt.NewRow(); dr["Text"] = "男"; dr["Value"] = "1"; dt.Rows.Add(dr); dr = dt.NewRow(); dr["Text"] = "女"; dr["Value"] = "2"; dt.Rows.Add(dr); this.comboBox1.DataSource = dt; this.comboBox1.DisplayMember = "Text"; this.comboBox1.ValueMember = "Value"; // 选中默认 comboBox1.SelectedIndex = 1; // 获取选中项 MessageBox.Show("显示值:" + comboBox1.Text.ToString()); MessageBox.Show("实际值:" + comboBox1.SelectedValue.ToString()); } }推荐采用方式一