如何跟踪用户是否在WinForms GUI中输入/更改某些内容以警告用户是否存在未保存的更改?

时间:2011-11-27 14:28:29

标签: c# winforms

我有一个简单的WinForms GUI,其中包含多个TextBox es,CheckBox es和RadioButton s,供用户输入/修改数据。从SQL Server数据库加载/保存所有内容。如何在用户关闭GUI时警告用户?我是否查询SQL以获取数据并将其与GUI中的内容进行比较,如果存在任何差异,我只是警告用户?或者,还有更好的方法?此外,在这段时间内,用户可能会打开一个窗口,有人进来并从另一台计算机上更改了某些内容,而且SQL数据与加载到WinForms中的内容有所不同。

1 个答案:

答案 0 :(得分:3)

关于本地变化: 保留一个本地标志,在一般消息的任何更改中设置为true。 如果要跟踪特定的更改,可以使用字典。

为防止其他用户覆盖数据,您可以使用锁定,并阻止其他人打开该记录,或仅允许他们以只读方式打开。

您可以在该记录上使用时间戳,并检查自上次读取该记录后是否已更改,然后警告用户该数据不再相同。