我们有两个Windows窗体:FormSqlUpdater
和FormReader
。 FormSqlUpdater
更新SQL表,并从同一个SQL表中读取FormReader
。这意味着FormReader
需要不断轮询数据库;当FormSqlUpdater
更改SQL表时,更改会通过TextBox
中的FormReader
反映出来。我希望尽可能将其作为实时。
许多建议都是使用Timer
。考虑到这需要尽可能实时,我有一种感觉,如果我设置Timer
过于频繁地轮询数据库(即每三秒),那么这种滞后将被用户注意到。此外,如果查询由于某种原因需要太长时间,则用户也会注意到这种延迟。如果我将Timer设置太长时间,则表单不会被同步。无论哪种方式,我都不会对Timer感到太舒服。
所以我在考虑使用FileSystemWatcher
中的FormReader
;当FormSqlUpdater
更新数据库时,它将写入文本文件。 FileSystemWatcher
FormReader
注意到文本文件已更改后,FormReader
将自行更新。
至少对我而言,似乎以这种方式使用FileSystemWatcher
可能是更好的选择。
你有什么想法?
感谢。