.net 在忽略数据绑定的同时检测textbox上更改的文本
我将一些文本框绑定到bindingsource和bindingnavigator 我想检测这些值何时发生了变化,并提示用户如果想要更新,就进行confrim 当表单第一次初始化,然后绑定导航器移动到下一条记录时,text_changed事件会在textbox上触发,在这里我有一个布尔值来确定是否发生了更改.net 在忽略数据绑定的同时检测textbox上更改的文本,.net,vb.net,winforms,data-binding,.net-2.0,.net,Vb.net,Winforms,Data Binding,.net 2.0,我将一些文本框绑定到bindingsource和bindingnavigator 我想检测这些值何时发生了变化,并提示用户如果想要更新,就进行confrim 当表单第一次初始化,然后绑定导航器移动到下一条记录时,text_changed事件会在textbox上触发,在这里我有一个布尔值来确定是否发生了更改 是否有一种方法可以仅在发生有效数据更改时设置我的布尔值,或者有一种更好的方法可以检测是否发生了更改通常,这样做的方法是注意文本框的backing属性何时发生了更改 因此,不必检查UI事件,您可
是否有一种方法可以仅在发生有效数据更改时设置我的布尔值,或者有一种更好的方法可以检测是否发生了更改通常,这样做的方法是注意文本框的backing属性何时发生了更改 因此,不必检查UI事件,您可以执行以下操作
Public Class myClass
private _myString As String = ""
private _isDirty As Boolean
Public Property MyString(ByVal _newString As String) As String
Get
Return _myStrig
End Get
Set
If Not _newString.Equals(_myString) Then
_myString = _newString
_isDirty = true
End If
End Set
End Property
'You could also just put a property on IsDirty and check that
Public Sub CanSave()
Return _isDirty
End Sub
End Class
基本上,在设置一个值之前,先验证该值是否已更改,然后在需要检查对象是否为irty时,只需检查_isDirty字段即可
您还可以使用INotifyPropertyChanged