一种方法是在表单上保留一个名为 _changed 或类似名称的布尔标志作为成员变量。然后在 TextBox 的 TextChanged 事件和 ComboBox 的 SelectedIndexChanged 事件中,只需设置 _changed = true 。
然后,在表单关闭之前,您会提示用户 _changed 是否为 true。
编辑:
如果窗体上有许多 TexBox 控件,则可以将它们全部挂接到同一个 TextChanged 事件处理程序。然后,无论哪个TextBox的文本发生改变,_changed都会被设置为true。
然后对多个 ComboBox 控件和一个 SelectedIndexChanged 事件执行相同的操作。
如果您确实有许多控件,您甚至可以编写一个方法,递归地循环表单的 Controls 集合,并将每种类型的控件挂接到适当的事件处理程序,而不是手动挂接每个控件。然后,您可以在不止一种形式中重用该方法,以节省大量时间和维护成本,因为每当您添加新控件时,它们都会自动得到处理。