我在使用VS2012(C#)编写的Winforms应用程序时遇到问题。 经过大量的研究和尝试,我在这里发布它没有运气。
我有2个MDI子表单和一个父表单,我用它来在它们之间切换。 在第一次加载child1之后,MDI表单看起来像是被向上推,它的顶部是隐藏的,无法看到;第二次点击后,此问题得以解决。
这是child1的源代码,与child2的代码相同
public partial class Child1 : Form
{
public Child1()
{
InitializeComponent();
panel1.Dock = DockStyle.Top;
StationFormUtils.SetPanelHeaderDefinitions(panel1);
}
private void Child_Load(object sender, EventArgs e)
{
//removes the child bar
this.MaximizeBox = false;
}
}
public static void SetPanelHeaderDefinitions(Panel panel)
{
panel.Size = new System.Drawing.Size(BaseClass.StationTableWidth, BaseClass.StationHeaderHeight);
panel.BackgroundImage = global::TestMdi.Properties.Resources.StationHeaderStrip;
panel.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Tile;
}
这是父母的源代码:
public partial class Form1 : Form
{
private Child1 ChildMainFrm1 = new Child1();
private Child2 ChildMainFrm2 = new Child2();
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
ChildMainFrm1.MdiParent = this;
ChildMainFrm1.WindowState = FormWindowState.Maximized;
ChildMainFrm1.Show();
}
private void button2_Click(object sender, EventArgs e)
{
ChildMainFrm2.MdiParent = this;
ChildMainFrm2.WindowState = FormWindowState.Maximized;
ChildMainFrm2.Show();
}
}
有谁知道我做错了什么或我错过了什么?