2012-10-15 67 views
0

Hy今天我有面板控制和MDI子窗體的一些問題,我的問題是我不能將面板控件設置回孩子窗體。 我的腦袋正在旋轉,試圖解決這個問題。MDI表格問題VB:NET

MDI Client Z-Order Problem

+1

你必須以不同的方式做到這一點。將按鈕放在面板中,將面板停靠在窗體的一個邊上。 –

回答

1

看起來你加入你的小組,你ParentForm,這樣做將保持在最前面。您需要將其分配給ChildForm。您的其他選擇之一是創建一個可停靠的面板並將其停放在您父級的一側。

看看這些文章

  1. http://bytes.com/topic/visual-basic-net/answers/382474-how-do-you-bring-mdi-child-windows-front-if-mdi-parent-has-controls
  2. http://social.msdn.microsoft.com/Forums/en-AU/winforms/thread/a9682277-d612-41e8-b5c0-44434b0bcb22

基於您的評論,你可以爲100ms的

Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick 
    Panel1.Visible = CheckForMDIChildren() 
End Sub 

Private Function CheckForMDIChildren() As Boolean 
    If Me.MdiChildren.Count > 0 Then 
     For Each frm As Form In Me.MdiChildren 
      If frm.Visible Then Return False 
     Next 
    End If 
    Return True 
End Function 
做這樣的事情了定時器設定
+0

這是正確的,但我需要這個設置爲後面板的MDI兒童,因爲它是一個快速的快捷面板。 –

+0

它將永遠在最前面,我正在尋找參考。我認爲你唯一的選擇是設置可視性 –

+0

恐怕必須安排一切算法來隱藏和顯示面板每次表單處於活動狀態。 –