我在窗体上有一个 WinForms DataGridView 控件。此 DataGridControl 中有两个字段:
电子邮件地址
Resolved Email Address
(根据Email Address
中的输入计算)
用户在 Email Address
中输入或更改值后,我希望 Resolved Email Address
中的值基于单独的方法更新。我应该绑定(bind)什么事件,以便在更新 Email Address
单元格后更新 Resolved Email Address
单元格?
我不确定将事件放在哪里,因为用户可以在添加/更改值后做很多事情:跳到下一个单元格,单击表单上的取消,单击表单上的确定等。任何想法?
最佳答案
与您尝试执行的操作相关的事件顺序是:
1) 单元格验证
2) CellValueChanged
3) 细胞验证
4) CellEndEdit
如果你想阻止基于单元格内容的进一步操作,我建议使用 CellValidating
,因为在 CellValidating
中,你可以设置 e.将
标志取消为 true,这将自动将控制返回给该单元格。DataGridViewCellValidatingEventArgs
中包含的
如果您只想更新显示(已解析的电子邮件名称),请使用 CellValueChanged
。
private void myDataGridView_CellValueChanged(object sender, DataGridViewCellEventArgs e) { e.Cancel = (!validateMyInput(e.FormattedValue.ToString()); }
关于c# - 在 DataGridView 中编辑单元格后,我应该在哪个事件之后执行操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2508696/