gpt4 book ai didi

C# WinForms MDI 问题

转载 作者:太空宇宙 更新时间:2023-11-03 20:37:19 25 4
gpt4 key购买 nike

大家好,我有一个问题,我有 1 个父表单和 3 个子表单,我只想将它们打开最大化,但是当我在左侧这样做时,会出现这 3 个控件。如果没有此控件,我如何打开一个表单。如果我用错误的方式做这件事,请告诉我一些 mdi 对这些事情有好处吗?

请看这张照片http://img440.imageshack.us/img440/6831/mdinz.jpghttp://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();
}
}

关于C# WinForms MDI 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4533802/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com