【发布时间】:2015-08-18 17:58:03
【问题描述】:
我可以轻松跟踪 DataGridView 中的单元格变化:
Private Sub DataGridView1_EditingControlShowing(sender As Object, e As DataGridViewEditingControlShowingEventArgs) _
Handles DataGridView1.EditingControlShowing
If TypeOf e.Control Is DataGridViewTextBoxEditingControl Then
RemoveHandler e.Control.TextChanged, AddressOf ProcessCellChange
AddHandler e.Control.TextChanged, AddressOf ProcessCellChange
'ElseIf TypeOf e.Control Is ...etc.
End If
End Sub
当用户输入时,我可以看到这种变化。但是当用户按下 Esc 并取消编辑时,我怎样才能捕捉到“撤消”的东西?
示例:单元格包含Hello,我将其更改为BYE,然后按Esc。现在Hello 文本又回到了单元格中。撤消文本后会触发什么事件,以便我可以使用Hello 更新依赖控件?
当我检查事件 Leave 或 LostFocus 时,它们仍然给我文本 BYE,因为它们发生在文本还原之前。知道如何在按 Esc 后获取Hello 吗?
【问题讨论】:
-
为什么不等待用户接受更改以更新取决于值的任何内容?
-
@JoshPart – 在“A”列中我有文本输入,在“B”列中我有基于该文本输入创建的文件名(但它们是手动调整的)。我想让“B”在“A”的更改上始终保持最新,即使在“A”被取消时,所以如果用户按下“生成”按钮,总会有正确的结果。
标签: .net vb.net winforms events