comboBox获取value中的值

private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)

    {

        string a = ((ComboBoxItem)comboBox2.SelectedItem).Value;

        textBox2.Text = a;

    }



    private void Form1_Load(object sender, EventArgs e)

    {

        ComboBoxItem i1 = new ComboBoxItem();

        i1.Text = "this is i1";

        i1.Value = "001";

        ComboBoxItem i2 = new ComboBoxItem();

        i2.Text = "this is i2";

        i2.Value = "002";



        comboBox2.Items.Add(i1);

        comboBox2.Items.Add(i2);

        comboBox2.DisplayMember = "text";
        comboBox2.ValueMember = "value"; } public class ComboBoxItem { private string m_Text; private string m_Value; public ComboBoxItem() { this.m_Text = String.Empty; this.m_Value = String.Empty; } public string Text { get { return this.m_Text; } set { this.m_Text = value; } } public string Value { get { return this.m_Value; } set { this.m_Value = value; } } public override string ToString() { return this.m_Text; //最关键的 } }

ComboBox的Items不能添加Value

不想用绑定的话,自已写一个实现Value和Text属性的类,然后重写ToString()方法,并返回和Text属性一样的值,然后把这个类的实际Add到ComboBox.Items中,取值时再转换一下类型.   
  当你往ComboxBox的Item中扔一个任意object时,显示出的内容就是这个object的ToString()方法.所以必须重写ToString()方法,来显示你要显示的内容.

你可能感兴趣的:(combobox)