2012-10-20 120 views
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表單(form名稱爲MDIForm1的),但不工作的孩子Form1上,當我按下退出鍵,它是關閉MDI窗體而不是子窗體。

我也檢查子表單名稱,名稱只是form1。

問題是什麼,我需要更改子窗體的任何屬性。

需要編寫代碼的幫助

+0

你有沒有抓住Keydown的兒童表格? – Yatrix

回答

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 
0

每當你想火子窗體事件的射擊父窗體「form1_KeyDown」事件。

0

這似乎是因爲形式(鍵預覽)財產。 所以嘗試在MDIMain窗體中設置Key預覽False,並在子窗體中設置它爲true。

相關問題