我有一個父窗體設置爲Mdi容器。我從父窗體中的菜單欄中單擊加載名爲Plot的子窗體。該代碼是:C#窗體窗體:Mdi父窗體和子窗體問題
protected void menuPlot_Click(object sender, EventArgs e)
{
// ... load form with Plot settings in center of parent form
// ... create a new instance of the Plot settings child form
PlotSettings plotSettings = new PlotSettings();
// ... set Welcome as the parent form for the Plot settings child window
plotSettings.MdiParent = this;
// ... display and position Plot settings child form
plotSettings.StartPosition = FormStartPosition.CenterScreen; // center child form
plotSettings.Show(); // display child form
}
這種運作良好,除了我有以下問題:
有沒有什麼辦法可以強制孩子形式留在中央。目前我能夠在容器內拖動它。我想阻止用戶移動它。我現在唯一能想到的就是讓孩子形成無國界的邊界,但我不確定這是否會奏效。
有什麼辦法可以讓兒童表格模態?是的,我知道我可以製作孩子表格模式,但不會再被包含在父表格中,這正是我想要的。是否有一種方法可以在子窗體處於活動狀態時禁用父控件?目前,我可以打開子窗體的多個實例,但我希望隨時只有一個實例。
我在父窗體上有一些標籤,標籤總是坐在子窗體的頂部。有沒有辦法強制兒童表格成爲最頂層?我使用TopMost,這似乎不起作用。
感謝您的任何幫助,您可能會提供。
這是三次「否」。你真的似乎不想使用MDI。使用另一個窗口模型,如http://sourceforge.net/projects/dockpanelsuite/ –
謝謝你的鏈接。您可能是對的,但我認爲可能有辦法 – Zeos6
您無法在父窗體上進行任何控制,如果它們可見,它們將始終顯示在子窗體的頂部。看看這個答案,我給了一個simular [問題](http:// stackoverflow。com/a/4130055/479512) –