确定表单更改

时间:2013-02-19 10:08:04

标签: vb.net

我有一个带有许多控件的winform:复选框,文本框等。 当表单关闭时,我想知道是否进行了更改(chekboxes已更改状态,文本已更改等)。 有没有优雅而简短的方法(除了在设计时为每个控件创建一个事件)?

由于

1 个答案:

答案 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