显示MDI子项时,子表单在顶部被截断

时间:2014-10-12 22:25:05

标签: c# winforms mdichild

我在使用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();
    }
}

有谁知道我做错了什么或我错过了什么?

0 个答案:

没有答案