看板 C_Sharp 關於我們 聯絡資訊
※ 引述《sohumi (皮老闆)》之銘言: : 我把datagridview的cell設為combobox : 我希望在callvalue改變時觸發程式 : so使用了callvaluechanged, : 但是在滑鼠在combobox下拉選單選了不同內容後, : 並沒有觸發該事件,反而是選了其它cell後該事件被觸發, : 感覺上好像是剛選好內容時, cellvalue並沒有被改變, : 而是"選好內容後 同時cell lost focus"才會觸發該事件. : 該如何解決? 因為CellValueChanged是在焦點離開才觸發的 要實現這個功能很麻煩的 首先在DataGridView的EditingControlShowing事件中假如以下內容 void dataGridView1_EditingControlShowing(object sender, DataGridViewEditing ControlShowingEventArgs e) { try { if (e.Control is ComboBox) { ComboBox comboBox = e.Control as ComboBox; if (comboBox != null) { comboBox.SelectedIndexChanged -= new EventHandler(co mboBox_SelectedIndexChanged); comboBox.SelectedIndexChanged += new EventHandler(co mboBox_SelectedIndexChanged); } } } catch (System.Exception ex) { } } 然后在comboBox_SelectedIndexChanged事件中寫方法 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.202.244.1
sohumi:推! 02/24 11:20