2012-10-19 37 views
1

我有這樣的代碼組合框有了新的SelectedValue上SelectionChangeCommitted但不會有新的SelectedText

private void FrmNovedadMedidas_SelectionChangeCommitted(object sender, EventArgs e) 
     { 
      ComboBox c = (ComboBox)sender; 
      CargarMedidasPorIdTipoMedida(Convert.ToInt16(c.SelectedValue)); 
      this.txtBoxNombreTipoMedida.Text = c.SelectedText; 
     } 

c.SelectedValue得到了選擇(即用戶在組合選擇了一個)的新值。 但在c.SelectedText我得到了ComboBox的舊值(我的意思是,在用戶更改選擇之前)。

是否有任何屬性可以給我新的選定文本? 我想避免在每次綁定到ComboBox的DataSet中進行搜索。

我讀過this但不工作,我沒有CommitEdit()在組合框

編輯:

c.Text也給了我舊的

+0

我似乎記得這種情況必須處理ComboBox的DropDownStyle。你可以請嘗試不同的風格,看看Text屬性是否設置爲SelectionChangeCommited內的新值? –

+0

讓我檢查一下 –

+0

使用DropDownList解決這個問題,也解決了我正在檢查的另一個問題。非常感謝 !!請把它作爲答案發布所以我可以接受它 –

回答

2

我似乎記得這種情況必須處理組合框的DropDownStyle

你可以請嘗試不同的風格,看看文本屬性是否設置爲SelectionChangeCommited內的新值?

根據您的評論,似乎使用DropDownList風格解決了這個問題。

乾杯

1

我發現了什麼。

c.GetItemText(c.SelectedItem) 

是否有直接屬性,請發佈。 無論如何感謝您的自述。

1

試試ComboBox上的SelectedIndexChanged事件與SelectionChangeCommited事件。然後使用c.Text獲取用戶剛剛選擇的值。

+0

問題是,在這種情況下甚至會引發編程選擇變化,我想避免 –

0

c.SelectedValue()回報null我。

c.GetItemText(c.SelectedItem)雖然適合我。更改下拉式樣不是一種選擇。

相關問題