【发布时间】:2020-01-17 14:36:10
【问题描述】:
我在将设置保存到“我的项目”然后使用“结束”语句退出程序时遇到问题。如果我保存设置但不执行 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”。
我做错了什么?
谢谢
【问题讨论】:
-
我猜你需要将
My.Settings.Save()添加到点击处理程序中。顺便说一句,我怀疑调用End会立即终止应用程序,并且可能无法释放内存并正确关闭文件。尝试调用Application.Exit可能会更好,因为这应该与垃圾收集等一起完成上述操作。 -
删除
End关键字.... Have 在这里很好地阅读。你可以做的就是打电话给Close...
标签: vb.net