我是给添加的ComboBox加了SelectIndexChanged事件,但是发现第一次选择时所有SelectValue都是第一个列表项的。

解决方案 »

  1.   

    有两个属性:
    内部值  this.class1ComboBox.SelectedValue
    显示的值 this.class1ComboBox.text
      

  2.   

    在combobox属性里面分别设value和text
      

  3.   

    试试这样,其中oj是需要得到的值。
    private void ComboBox1_SelectIndexChanged(object sender, EventArgs e)
            {
                ComboBox cb = sender as ComboBox;
                object oj = cb.EditValue;
            }
      

  4.   

    ComboBox控件对应的应该会有一个ID.value是显示ComboBox内部管理的值,同时他还有text属性是显示给客户看的.你可以跟据需要来操作.
      

  5.   

    加事件应该后台动态添加,在DataGrid后台初始化的时候处理,
    利用好findcontrol这个方法
      

  6.   

    那是因为你绑定到了同一个数据源。给你个例子
    DataTable dt = new DataTable();
                dt = CurrencyDB.Tables[0].Copy();//注意
                tbcombox.Name = cbname;
                tbcombox.Left +=1;
                tbcombox.Top +=5;
                tbcombox.DropDownStyle = ComboBoxStyle.DropDownList;
                tbcombox.FlatStyle = FlatStyle.Flat;
                tbcombox.DataSource = dt;
                tbcombox.DisplayMember = "CurrencyName";
                tbcombox.ValueMember = "CurrencyRate";