我有一个带有许多控件的winform:复选框,文本框等。 当表单关闭时,我想知道是否进行了更改(chekboxes已更改状态,文本已更改等)。 有没有优雅而简短的方法(除了在设计时为每个控件创建一个事件)?
由于
答案 0 :(得分:0)
您可以声明一个布尔变量,每次修改某些内容时都可以更改其值:
Public bChanges As Boolean = False
在任何更改的控件中(例如,使用其事件进行管理):
bChanges = True
当表单关闭时(如果你希望它稍后存在,则在表单类之外声明变量),你可以轻松地检查它的值。
您需要创建事件以了解控件是否已修改。您可以为此目的对事件进行分组:
Handles Button1.Click, Button2.Click, Button3.Click
或者您可以为表单控件创建动态循环事件,并根据控件的类型确定您指定的方法:
For Each elem As Control in Me.Controls
AddHandler elem.TextChanged, AddressOf ChangedMethod
Next