我有一种将设置保存到文件的方法。如果dateTimePicker的值更改,则调用此方法。但我已经在Form_Load加载设置 - >我从文件中读取值并为其分配dateTimePicker,但此调用方法save_settings(couse值已更改)。而在这一刻是问题,该文件是由程序打开 - >读取值和程序想写入文件的变化... 我该怎么做?c#读取设置时保存设置
回答
我认为你有关键的部分。有很多方法可以解决这个问题。一种方法是将Lock语句放在文件保存中。这样一个线程在另一个线程完成后应该等待。但从理解你的问题,我认为这个问题与你的设计有关。据我了解,你试图同时读写。也许你应该声明全局布尔变量isToSave。这将表明您何时可以保存。使用文件时不要忘记使用使用语句来释放文件 句柄。
我使用了变量检查。谢谢:) – sczdavos 2011-12-25 20:42:18
使用某种标志 - 在开始读取配置并在finally
块中取消设置时设置它。设置标志时,忽略对ValueChanged
的呼叫。由于您正在加载OnLoad
中的配置,所以dateTimePicker的值将不会因为其他原因而改变,因为您处于主UI线程中,并且此时消息泵并未抽取。
当done.v参考@ Gregory的答案时还释放/销毁您的StreamReader/StreamWriter对象 – MethodMan 2011-12-25 19:37:14
- 1. c#保存设置
- 2. C#设置保存?
- 3. C#Winform:设置文件保存位置
- 4. C#Windows服务保存设置的位置属性设置
- 5. C#读配置设置
- 6. 保存设置(接口设置)SharedFolder
- 7. 保存设置onDestroy
- 8. 保存MySQL设置
- 9. 如何设置应用程序设置而不保存在c#
- 10. C#FileStream读取设置编码
- 11. 自动保存退出C#设置
- 12. 保存在C#中的设置
- 13. 保存用户设置在C
- 14. 使用属性保存/读取对象值。设置
- 15. OkHttp设置读取超时。 Android
- 16. app.config的设置何时实际读取?
- 17. 如何设置InputStream.read的读取超时?
- 18. 升级时保存注册表设置
- 19. ManyToOne - 保存时未设置外键
- 20. jquery cookie读取并设置
- 21. 设置和读取会话
- 22. 从App.Config读取设置
- 23. 保存设置数据
- 24. 保存System.Windows.Forms.Keys作为设置
- 25. 如何保存Report.Document.Printer设置?
- 26. 设置accessoryType并保存它
- 27. 如何保存fbset设置?
- 28. 保存值Android设置
- 29. SplitterLocation不保存在设置
- 30. 保存JMeter图形设置
需要查看您当前拥有的代码以帮助解决您的问题..请复制粘贴到您遇到此问题的代码中 – MethodMan 2011-12-25 19:10:53