我有一个表单,我End
在我的代码中使用了多次关闭。当我这样做时,我想做一个命令来保存设置,VarsToIni()
它需要一些公共变量并将它们保存在一个 INI 文件中。我试过把它放在主窗口的 FormClosing 中(它始终保持打开状态),这只适用于你按下 X 按钮而不是我的End
语句关闭时。
问问题
2799 次
3 回答
2
添加一个新的 Sub 并将调用替换为End
对新 Sub 的调用:
Sub EndMe()
VarsToIni()
Application.Exit()
End Sub
编辑:
正如 Dan 指出的那样,End()
关闭应用程序是一种不好的方法,Application.Exit()
是首选。
于 2013-02-19T17:23:18.280 回答
1
考虑使用Application.Exit()
而不是End
. FormClosing
无论如何都可以调用它(并且您可以根据关闭方式来处理它)。
Private Sub frmMain_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
Select Case e.CloseReason
Case CloseReason.ApplicationExitCall
' This is the result of Application.Exit()
e.Cancel = False
Case CloseReason.UserClosing
' This is the result of clicking the red X
Select Case MessageBox.Show("Are you sure you wish to exit?", "Confirm", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
Case DialogResult.Yes
e.Cancel = False
Case DialogResult.No
e.Cancel = True
End Select
Case Else
e.Cancel = False
End Select
If Not e.Cancel Then
VarsToIni()
End If
End Sub
于 2013-02-19T18:01:54.110 回答
0
尽管如此,我对您的问题感到很困惑:
这将关闭您的所有表格
For each x as Form in My.Application.OpenForms
'You can then put your VarsToIni() here
x.Close()
Next
注意:将此添加到您的导入中
Imports System.Windows.Forms
于 2013-02-19T17:13:17.897 回答