我有一个将设置保存到文件的方法。如果dateTimePicker的值发生更改,则调用此方法。但我有Form_Load加载设置 - >我从文件读取值并使用dateTimePicker分配它,但是这个调用方法save_settings(couse值已更改)。并且在这一刻是问题,文件是由程序打开的 - >读取值和程序想写入文件更改... 我怎么能这样做?
答案 0 :(得分:1)
我认为你有关键部分。有很多方法可以解决这个问题。一种方法是将Lock语句放在文件保存周围。这样一个线程应该在另一个线程完成后等待。但是从理解你的问题开始,我认为问题在于你的设计。据我所知,你试图同时读写。也许你应该声明全局bool变量isToSave。这将表明何时可以保存。使用文件时不要忘记使用using语句来释放文件 处理
答案 1 :(得分:0)
使用某种标记 - 在开始阅读配置时设置它并在finally
块中取消设置。设置标志后,忽略对ValueChanged
的调用。由于您在OnLoad
中加载配置,因此您没有其他原因可以更改dateTimePicker的值,因为您处于主UI线程中并且此时消息泵不会被泵送。