最近在做一個項目時遇到了這樣一個問題,在一個DataGridview中的某一個單元格輸入了內容,點擊窗體上的Button按鈕(輸入的光標還在那個輸入的單元格中,沒有失去焦點),獲取到的那個單元格的值不是剛才輸入的值,還是輸入前的值,現將解決方法整理如下:
在DataGridView的EditingControlShowing事件中:
private void dataGridView_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { TextBox EditingTB = e.Control as TextBox; // 獲取編輯用的文本框的引用 EditingTB.TextChanged += EditingTB_TextChanged; // 動態注冊事件 }
// 當子控件的內容更改時發生 private void EditingTB_TextChanged(object sender, EventArgs e) { if (this.dataGridView.CurrentCell.ColumnIndex == 9) { this.dataGridView.CurrentCell.Value = (sender as TextBox).Text; } }
轉 : https://blog.csdn.net/esunshine1985/article/details/53938991