你好guyes我有一个问题我有1个父表单和3个孩子我只想打开它们最大化但是当我在左侧那样做时,这3个控件。如何在没有此控件的情况下打开一个表单。 如果我以错误的方式做这件事,请告诉我mdi对这些事情有好处吗?
请看这张图片http://img440.imageshack.us/img440/6831/mdinz.jpg http://img139.imageshack.us/img139/4687/mdi1.jpg
答案 0 :(得分:5)
这是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();
}
}
答案 1 :(得分:0)
如果您愿意,可以使用ControlBox, FormBorderStyle, MaximizeBox
和MinimizeBox
属性从表单中删除各种窗口UI元素。