意思就是我在文本框输入设定好的ValueMember直接就显示出下拉框里对于的值。combobox

解决方案 »

  1.   

    可以,使用反射。假设obj为你的下拉框里面的某个条目的对象
    var p = obj.GetType().GetProperty(属性名);
    string 值 = p.GetValue(obj, null);
      

  2.   

    是winform窗体的。一样的吗。是啊。
      

  3.   

    是winform窗体的。一样的吗。是啊。
    var p = comboBox.SelectedItem.GetType().GetProperty("ss");
                 string 值 = p.GetValue(comboBox.SelectedItem, null).ToString();是这样吗?可是报错呢。
      

  4.   

    foreach (var item in comboZJZL.SelectedItem.GetType().GetProperties())
    {
        MessageBox.Show(item.Name);
    }里面有ZJLBDM么?
      

  5.   


    等等,我好像理解错了。var p = obj.GetType().GetProperty(属性名);里面的属性名应该是什么。
      

  6.   

    就是绑定的对象的属性。
    class User
    {
        public int ID { get; set; }
        public string Name { get; set; }
    }
    你往ListBox添加
    listBox1.DisplayMember = "Name";
    listBox1.ValueNumber = "ID";
    listBox1.Item.Add(new User() { id = 1, Name = "abc" });
    当你选中这个以后
    listBox1.SelectedValue 就是 1
      

  7.   

    ValueNumber指示的属性名作为值
      

  8.   


    还是搞不太懂啊,这样的话,你看我上面的图贴出来了给comboZJZL绑定的ValueNumber就是ZJLBDM啊,是我不应该取当前选中的值吗。可是我要的是我在文本框输入ValueNumber的值的时候直接出来他对应的DisplayMember啊。
    例如下拉框里有这几个显示
    ValueNumber        DisplayMember
    1                     小明
    2                     小美
    3                     小红
    我需要在text输入1的时候出来小明,输入2的时候出现小美这样子。
      

  9.   

      public Form2()
            {
                InitializeComponent();
                List<Person> list = new List<Person>() 
            {
                new Person(){Name="1",Adress="ChinaChinina",Age=23},
                new Person(){Name="2",Adress="China",Age=11},
                new Person(){Name="3",Adress="China",Age=23},
            };
                comboBox1.DataSource = list;
                comboBox1.DisplayMember = "Adress";
                comboBox1.Text = "Name";        }        private void comboBox1_TextChanged(object sender, EventArgs e)
            {
                if (comboBox1.Text == "2")
                {
                    comboBox1.Text = "China";
                }
            }
    测试通过