2009-02-09 74 views
0

將控件放置在MID父窗口的背景上是一個好主意嗎?我已經向MDI窗口中添加了一個拆分容器,並按照預期顯示,但是當我嘗試在同一個窗口中打開任何其他窗體時,它們顯示的是SplitContainer的後面。讓他們彈出的唯一方法是如果我使用ShowDialog來顯示它們。不幸的是我需要能夠一次打開多個窗口,所以這不是一個實際的解決方案。MDI父級背景上的控件

我接觸到了這個錯誤的方式嗎?

回答

2

您不能添加任何涵蓋MDI客戶端窗口(深灰色背景)的控件。 MDI客戶端以客戶端窗口作爲父項顯示,因此它們的Z-order低於控件。

WF支持停靠控件,它會自動將客戶區域調整爲父窗體中的剩餘空間。但就是這樣,SplitContainer無法工作。

請注意,您可以在SplitContainer的面板上顯示錶單。將其TopLevel屬性設置爲False,以便它們變爲控件。例如:

public partial class Form1 : Form { 
    public Form1() { 
     InitializeComponent(); 
     Form2 f2 = new Form2(); 
     f2.TopLevel = false; 
     f2.FormBorderStyle = FormBorderStyle.None; 
     f2.Visible = true; 
     splitContainer1.Panel1.Controls.Add(f2); 
    } 
    }