checkbox,button,imagebutton使用dataGridView1_CellContentClick
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) { tb.Text+=string.Format("\r\n{0},Row:{1},Column:{2}","單元格內容單擊!",e.RowIndex,e.ColumnIndex); }
combobox使用EditingControlShowing+DropDownClosed,此二事件結合使用可以做到內置combobox一下拉選擇了就觸發事件
private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { tb.Text += string.Format("\r\n{0},控件名:{1}", "單元格控件編輯!", e.Control.GetType()); if (e.Control.GetType().Equals(typeof(DataGridViewComboBoxEditingControl))) { DataGridViewComboBoxEditingControl editingControl = e.Control as DataGridViewComboBoxEditingControl; try { editingControl.DropDownClosed -= new EventHandler(editingControl_DropDownClosed); } catch { } editingControl.DropDownClosed += new EventHandler(editingControl_DropDownClosed); } else if (e.Control.GetType().Equals(typeof(DataGridViewTextBoxEditingControl))) { DataGridViewTextBoxEditingControl editingControl = e.Control as DataGridViewTextBoxEditingControl; try { } catch { } } } private void editingControl_DropDownClosed(object sender, EventArgs e) { DataGridViewComboBoxEditingControl ctl = sender as DataGridViewComboBoxEditingControl; int r = dataGridView1.CurrentCell.RowIndex; int c = dataGridView1.CurrentCell.ColumnIndex; tb.Text += string.Format("\r\n{0},控件名:{1}", "單元格下拉框下拉!", ctl.GetType()); dataGridView1.CellValueChanged -= dataGridView1_CellValueChanged; }
textbox一般只需要驗證事件可使用dgvJointList_CellValidating
private void dgvJointList_CellValidating(object sender, DataGridViewCellValidatingEventArgs e) { int r = dgvJointList.CurrentCell.RowIndex; int c = dgvJointList.CurrentCell.ColumnIndex; if (dgvJointList.Columns["diameter"].Index == c || dgvJointList.Columns["thickness"].Index == c || dgvJointList.Columns["weldLength"].Index == c) { string txt = dgvJointList.CurrentCell.EditedFormattedValue.ToString(); string errorMsg; if (!ValidNumericFF(txt, out errorMsg)) { e.Cancel = true; this.errorProvider1.SetError(dgvJointList, errorMsg); } else { this.errorProvider1.SetError(dgvJointList, ""); } } }
單元格內容改變!,Row:-1,Column:0
單元格內容改變!,Row:-1,Column:1
單元格內容改變!,Row:-1,Column:2
單元格內容改變!,Row:-1,Column:3
單元格內容改變!,Row:-1,Column:4
單元格內容改變!,Row:-1,Column:5
單元格內容選擇改變!,Row:0,Column:0
單元格控件編輯!,控件名:System.Windows.Forms.DataGridViewTextBoxEditingControl
點擊checkboxcell
單元格驗證!,Row:0,Column:0
單元格內容選擇改變!,Row:0,Column:4
單元格單擊!,Row:0,Column:4
單元格內容單擊!,Row:0,Column:4
點擊comboboxcell
單元格驗證!,Row:0,Column:4
單元格內容改變!,Row:0,Column:4
單元格控件編輯!,控件名:System.Windows.Forms.DataGridViewComboBoxEditingControl
單元格內容選擇改變!,Row:0,Column:3
單元格單擊!,Row:0,Column:3
點擊textboxcell
單元格驗證!,Row:0,Column:3
單元格控件編輯!,控件名:System.Windows.Forms.DataGridViewTextBoxEditingControl
單元格內容選擇改變!,Row:0,Column:0
單元格單擊!,Row:0,Column:0
單元格離開!,Row:0,Column:0
