my.settings.myVariable有时不坚持ie。间歇的

时间:2017-08-31 22:21:34

标签: c# .net vb.net winforms visual-studio

Windows 10 64位,VB.NET 2017

我有一个文本框,我想坚持它的价值。我键入20,通常它会在下次启动程序时持续存在。但有时它是空白的。没什么 代码改变它。我正在调试另一部分代码。有时我会单步编辑代码。有时候我会换-F5结束程序。通常20持续存在。

在项目>道具>设置它是一个用户变量,字符串,名为:TextBox_OD_log10_gain(与它设置的文本框同名)

这里是TEOTBOX在开机时加载.............

Private Sub MainForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    application.DoEvents
    TextBox_OD_log10_gain.text = my.settings.TextBox_OD_log10_gain
End Sub

这里只有TEXTBOX设置...............

Private Sub MainForm_FormClosed(sender As Object, e As FormClosedEventArgs) Handles MyBase.FormClosed
                my.settings.TextBox_OD_log10_gain = TextBox_OD_log10_gain.text 
        My.Settings.Save()
End Sub
下面的'Alessandro Mandelli'表示问题是.NET Framework的故障。这是真的??我应该放弃my.settings。并使用不同的方法?

2 个答案:

答案 0 :(得分:0)

当您按 Shift + F5 终止调试会话时,您可能会立即结束当前的程序执行并且它永远不会有机会触发或处理FormClosed事件,这反过来意味着您的设置永远不会被保存。您应该在完成调试后关闭表单本身,这样它就有机会执行您指定的任何其他保存或清理,而不是从代码外突然结束它。

答案 1 :(得分:-1)

我放弃了我的设置。太不可靠了。没有像样的例子或文件。我的一些设置坚持,其他设置没有。

我的回答是回到" GetSetting"我从来没有遇到过这个问题。 此外,GetSetting大约需要一半的时间来编码。