Windows窗體應用程序。 VB .NET 4.0在我的應用程序中,我有一個全局布爾變量,用於跟蹤更改何時發生以及何時保存,稱爲changesSaved。關閉它甚至在關閉窗口之前檢查此變量的值..我正在使用textchanged事件來自動更改文本更改時changesSaved的值爲FALSE ..問題:動態填充組框項目,以便用戶可以編輯值或只是查看它們。此動態填充正在導致textchanged事件觸發,因爲程序正在更改框的文本值,以將值存儲在數據庫中。 textchanged事件不應該觸發,除非用戶自己在文本框中輸入一個或多個值。有沒有一種方法可以指定源,我想你可以說爲文本更改事件或其他方式,以便它只會觸發當用戶輸入信息時。函數如下:第一個被load事件調用,將值放在方框中......下一個是第一個被調用的那個,也是導致問題的那個..將textchanged事件設置爲僅當用戶不是程序實際輸入文本時觸發
Private Sub loadProperty(ByVal x As Integer)
Dim _property As property_info = db.property_info.Single(Function(s) s.idProperties = x)
p_settingsCity.Text = _property.city.ToString
p_settingsState.Text = _property.state.ToString
p_settings_PropertyName.Text = _property.property_Name.ToString
p_settingsZipCode.Text = _property.zipcode.ToString
p_settings_Address.Text = _property.address1.ToString
p_settingsCity.Text = _property.city.ToString
p_settingsState.Text = _property.state.ToString
If _property.AllowRentProration = 1 Then
RentProrate.Checked = True
Else
RentProrate.Checked = False
End If
RentProrate.Visible = True
End Sub
Private Sub PropertyTextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles PropertyDetailsGroup.TextChanged
ChangesSaved = False
End Sub
也許只是移動ChangesSaved =虛假陳述你的KeyUp事件。然後它知道用戶何時鍵入了某些內容,而不是程序改變某些內容。 – APrough 2012-03-29 19:22:29