0

我有一种将设置保存到文件的方法。如果 dateTimePicker 的值发生变化,则调用此方法。但是我在 Form_Load 加载设置中 - >我从文件中读取值并使用 dateTimePicker 分配它,但是这个调用方法 save_settings (couse值改变了)。而此刻是问题,因为文件是由程序打开的 - >读取值并且程序想要写入文件更改......我该怎么做?

4

2 回答 2

1

我认为你有关键部分。有很多方法可以处理这个问题。一种方法是在文件保存周围放置 Lock 语句。这样一个线程应该在另一个线程完成后等待。但是从理解你的问题来看,我认为问题出在你的设计上。据我了解,您试图同时读写。也许您应该声明全局布尔变量 isToSave 。这将指示您何时可以保存。使用文件时不要忘记使用 using 语句来释放文件句柄。

于 2011-12-25T19:13:49.463 回答
0

使用某种标志 - 在您开始阅读配置时设置它并在finally块中取消设置它。设置标志后,忽略对ValueChanged. 由于您正在加载配置OnLoad,因此 dateTimePicker 的值更改不会有其他原因,因为您在主 UI 线程中并且消息泵目前没有泵送。

于 2011-12-25T19:34:55.893 回答