关于datagridview TextChanged的问题
- C# code
private void dataGridView_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { if (e.Control is DataGridViewTextBoxEditingControl) { DataGridViewTextBoxEditingControl tb = (DataGridViewTextBoxEditingControl)e.Control; tb.TextChanged += new EventHandler(cellValueChanged); } } private void cellValueChanged(object sender, EventArgs e) { DataGridViewTextBoxEditingControl textBox = (DataGridViewTextBoxEditingControl)sender; if (!textBox.Text.Trim().Equals("")) { MessageBox.Show(textBox.Text); } }
代码如上 我在一个单元格中 输入内容的时候 这个textChanged事件会执行多次 比如 第一个单元格会执行两次 第二个就会执行三次 一次类推
不知道是什么原因 给点指点。。。 谢谢
[解决办法]
控制行、列:
- C# code
private void dataGridView_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { if(dataGridView1.CurrentCell.ColumnIndex==1 && dataGridView1.CurrentCell.RowIndex!=-1) //控制行、列 { if (e.Control is DataGridViewTextBoxEditingControl) { DataGridViewTextBoxEditingControl tb = (DataGridViewTextBoxEditingControl)e.Control; tb.TextChanged += new EventHandler(cellValueChanged); } } }