所以我想知道是否有人能给我一个好主意如何做某事。我的应用程序中有一个tabControl - 我加载了一个页面 - TabPage1 - 大约有25-30个字段。在加载所有数据时 - 我运行一个循环将每个控制值保存到.tag。我还有一个名为isDirty()的函数,它基本上检查每个控件的ctr.tag.tostring<> ctr.text。我很难搞清楚如何构建一个快速处理程序来检查表单上的所有控件。我尝试使用TagPage1.Validating,但是它没有做任何事情。
我的isDirty()函数看起来像这样......
Private Function isDirty() As Boolean
isDirty = False
For Each ctr As Control In TabPage1.Controls
If TypeOf ctr Is TextBox And ctr.Enabled = True Then
If ctr.Tag.ToString <> ctr.Text Then
isDirty = True
End If
End If
'more if statements for comboboxes and such
Next
End Function
我希望能够在某个地方插入此功能并对其进行调用
if isDirty() then
MsgBox "You have made a change to this form"
End if
我是否必须在每个控件的选择中更改?
答案 0 :(得分:1)
有两种方法
Exit For
之后错过了isDirty = True
。bool changed
。像textbox
,combobox
,radiobutton
,checkbox
等控件通常都有自己的更改事件处理程序,如果更改设置为changed
到{{ 1}}。