End
コードで数回使用して閉じるフォームがあります。これを行うときに設定を保存するコマンドを実行したいと思いVarsToIni()
ます。これは、いくつかのパブリック変数を取り、それらを INI ファイルに保存します。私はそれをメイン ウィンドウの FormClosing (全体を通して開いたまま) に配置しようとしましたが、これは私のEnd
ステートメントではなく X ボタンを押して閉じた場合にのみ機能します。
質問する
2799 次
3 に答える
2
新しい Sub を追加し、呼び出しを新しい Sub への呼び出しに置き換えますEnd
。
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 に答える