我有一个窗体,当初始化时,要通过combobox的SelectedValueChanged事件获得combobox当前选中的value,可是每次初始化都获得不到该值,请教各位,急急急

解决方案 »

  1.   

    当初始化时,要通过combobox的SelectedValueChanged事件获得combobox当前选中的value
    如果你的初始化没有改变combobox的SelectedValue,自然就不会触发该事件.
    如果仅仅是想在初始化时获取combobox的SelectedValue,可以通过this.comboBox1.SelectedItem.ToString().
    但要考虑SelectedItem可能为null
      

  2.   

    初始化窗体后想得到当前选中combobox的value,代码如下,可是得到的是s却是"System.Data.DataRowView",初始化是设过断点,下面的方法都执行了,可还是获得不到我想要的value
     private void cmb_Seat_Type_SelectedValueChanged(object sender, EventArgs e)
            {            load_had_defined(cmb_Seat_Type.SelectedValue.ToString());
            }
    private void load_had_defined(string id)
            {
              string s=id;
    }
      

  3.   

    我试过comboBox1.SelectedItem.ToString()还是得不到
      

  4.   

    在SelectedIndexChanged事件
    comboBox1.SelectedText;
      

  5.   

    查一下this.comboBox1.SelectedIndex, 如果是-1, 则该comboBox1还没进行过选择,自然SelectedItem==null.
      

  6.   

    最开始初始化的时候,如果不给combobox赋值,它什么也都没选,值是null,当然取不到了
      

  7.   

    this.comboBox1.SelectedValue.toString()
      

  8.   

    看来这样好像行不通,我可以吧combobox的第一项设置为空,这样就不需要初始化就去得到value了,这样SelectedValue就会触发该事件了,可是,如何把第一项设为空?
      

  9.   

     DataRow dr = ds.Tables[0].NewRow();
                    dr["NAME"] = "";
                    dr["CODE"] = "";
                    ds.Tables[0].Rows.InsertAt(dr, 0);
                    this.combobox1.DataSource = ds.Tables[0];
                    this.combobox1.DisplayMember = "NAME";
                    this.combobox1.ValueMember = "CODE";ds已定义过的dataset
      

  10.   

    当初始化时,要通过combobox的SelectedValueChanged事件获得combobox当前选中的value 
    如果你的初始化没有改变combobox的SelectedValue,自然就不会触发该事件. 
    如果仅仅是想在初始化时获取combobox的SelectedValue,可以通过this.comboBox1.SelectedItem.ToString(). 
    但要考虑SelectedItem可能为null
      

  11.   

    comboBox1.SelectedIndex = -1;
      

  12.   

    ComBox应该有TextField和ValueField属性,大概没设置吧?