Vb.net 将设置保存到MySettings并退出程序不是';行不通

Vb.net 将设置保存到MySettings并退出程序不是';行不通,vb.net,Vb.net,我在将设置保存到项目中,然后用“End”语句退出程序时遇到问题。如果我保存设置,但不执行end语句,则一切正常。如果保存设置,然后执行“结束”,则不会保存设置。下面是一些说明问题的代码: 公开课表格1 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 'reads the last setting correctly TextBox1.Text = My.Settings.My

我在将设置保存到项目中,然后用“End”语句退出程序时遇到问题。如果我保存设置,但不执行end语句,则一切正常。如果保存设置,然后执行“结束”,则不会保存设置。下面是一些说明问题的代码:

公开课表格1

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    'reads the last setting correctly
    TextBox1.Text = My.Settings.MySetting
End Sub

Private Sub btnWrite_Click(sender As Object, e As EventArgs) Handles btnWrite.Click
    'write value, don't exit; works
    My.Settings.MySetting = TextBox1.Text
End Sub

Private Sub btnWriteEnd_Click(sender As Object, e As EventArgs) Handles btnWriteEnd.Click
    'write value and end; fails
    My.Settings.MySetting = TextBox1.Text
    End
End Sub
末级

当我执行代码时,最后出现在My.Settings.MySetting中的内容将显示在TextBox1中。如果我更改文本框中的文本并单击“写入”按钮,然后通过单击“X”手动退出程序,则当我再次执行程序时,新文本将正确更改。如果我更改文本并通过单击“WriteEnd”以编程方式退出,则更改的设置文本不会写入“MySetting”

我做错了什么


谢谢

默认情况下,设置将在关机时自动保存,因此通常无需调用
Save
<代码>结束绝对是问题所在。切勿使用
End
。调用启动窗体上的
关闭
,或调用
应用程序。退出
。我把
End
比作一个保镖抓住某人的颈背,把他们扔出去,把饮料洒在每个人身上,把夹克留在身后,而不是让他们自己离开。

默认情况下,设置会在关机时自动保存,因此,通常不需要调用
Save
<代码>结束绝对是问题所在。切勿使用
End
。调用启动窗体上的
关闭
,或调用
应用程序。退出
。我把
End
比作一个保镖抓住某人的颈背,把他们扔出去,把饮料洒在每个人身上,把夹克留在身后,而不是让他们自己离开。

我想你需要将
My.Settings.Save()
添加到点击处理程序中。顺便提一下,我怀疑调用
End
会立即终止应用程序,可能无法释放内存并正确关闭文件。。最好尝试调用
应用程序。退出
,因为这应该与垃圾收集等一起执行上述操作。删除
结束
关键字。。。。这是一本很好的读物。您可以改为调用
Close
…我想您需要将
My.Settings.Save()
添加到单击处理程序中。顺便提一下,我怀疑调用
End
会立即终止应用程序,可能无法释放内存并正确关闭文件。。最好尝试调用
应用程序。退出
,因为这应该与垃圾收集等一起执行上述操作。删除
结束
关键字。。。。这是一本很好的读物。您可以改为调用
Close
。。。