[英]C# WinForms MDI problem
大家好,我有一個問題,我有1個家長表格和3個孩子,我只想最大化地打開它們,但是當我在左側進行操作時,就會出現這3個控件。 沒有此控件,如何打開一種表單。 如果我以錯誤的方式這樣做,請告訴我某些東西對這種事情有好處嗎?
請參閱此圖片http://img440.imageshack.us/img440/6831/mdinz.jpg http://img139.imageshack.us/img139/4687/mdi1.jpg
這是MDI實現中的一個已知錯誤,當您在父構造函數中創建最大化的子窗口時觸發。 這是一個例子:
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
var child = new Form2();
child.MdiParent = this;
child.WindowState = FormWindowState.Maximized;
child.Show();
}
}
您將看到兩次顯示的最小/最大/還原字形,還原子窗口將在屏幕上留下MDI欄,就像您在第一個屏幕截圖中一樣。 解決方法是將子創建代碼移動到OnLoad()方法。 像這樣:
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
}
protected override void OnLoad(EventArgs e) {
base.OnLoad(e);
var child = new Form2();
child.MdiParent = this;
child.WindowState = FormWindowState.Maximized;
child.Show();
}
}
如果需要,可以使用ControlBox, FormBorderStyle, MaximizeBox
和MinimizeBox
屬性從表單中刪除各種窗口UI元素。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.