Re: [問題] Datagridview的cellvaluechanged事件
※ 引述《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
推
02/24 11:20, , 1F
02/24 11:20, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):