0

私は開いたときに4つ以上の子ウィンドウが開いている可能性のあるmdi親フォームを持っていますクローズ機能を除いてすべてがうまく動作しています-次のように確認ウィンドウが表示されます

Private Sub index_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
    If MessageBox.Show("Are you sure you want to exit?", "prompt", MessageBoxButtons.YesNo) = DialogResult.Yes Then
        'allow close
    Else
        e.Cancel = True
    End If
End Sub

これは、mdi 親が開いたままの状態で [いいえ] をクリックした場合を除いて、子フォームがすべて閉じている場合を除き、適切に機能しています。これを防ぐにはどうすればよいですか?

役立つ画像:

通常動作 http://fasttrackdispatch.com/design/normalop.png

ただし、x をクリックすると、次のようなプロンプト メッセージが表示されます (何らかの理由ですべての mdi 子要素が閉じられていることに注意してください。これが発生するようにコーディングしていません ) http://fasttrackdispatch.com/design/exitmenu.png [いいえ] をクリックすると、mdi の子が返されません http://fasttrackdispatch.com/design/exitmenuno.png

問題は、mdi の子が閉じている理由と、それを防ぐ方法です。

4

1 に答える 1

1

FormClosing子フォームのイベントを処理できます。その場合、子フォームを閉じる前にユーザーに確認を促すことができますe.CloseReasonMdiFormClosing

于 2014-06-12T02:26:00.220 に答える