0

MDIと子フォームの使用

コード。

childform_load

Me.MdiParent = MDIMain

'

 Private Sub form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
     If e.KeyCode = Keys.Escape Then
         Me.Close()
     End If
 End Sub

上記のコードはMDIフォーム(フォーム名はmdiform1)で機能しますが、子フォーム1では機能しません。エスケープキーを押すと、子フォームではなくMDIフォームが閉じられます。

子フォーム名も確認します。名前はform1のみです。

問題は何でしたか、子フォームのプロパティを変更する必要があります。

コードのヘルプが必要

4

3 に答える 3

3

これは私のために働く

Private Sub Form1_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
        If e.KeyCode = Keys.Escape Then
            For Each child As Form In Me.MdiParent.MdiChildren
                child.Close()
            Next child
        End If
    End Sub
于 2012-10-20T09:48:21.067 に答える
0

子フォームイベントを発生させようとすると、親フォームの「form1_KeyDown」イベントが発生します。

于 2012-10-20T09:46:21.903 に答える