c#在读取设置时保存设置

时间:2011-12-25 19:08:00

标签: c# exception application-settings file-read file-writing

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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