第二个表单未正确显示

本文关键字:显示 表单 第二个 | 更新日期: 2023-09-27 18:34:40

我的主要窗体是一个带有菜单条的 mdi 容器。 当我选择选项-维护时,我希望出现另一个 mdi。 这种作品。 代替另一个 mdi 容器以及设计,出现一个常规的较小表单,不知道为什么。

 public partial class mdiMain : Form
{
    static string sTo = ConfigurationManager.ConnectionStrings["connectionTo"].ToString();
    public myDataAccess3 data;
    public mdiMain()
    {
        InitializeComponent();
    }
    private void Form1_Load(object sender, EventArgs e)
    {
        try
        {
            data = new myDataAccess3(sTo);
            frmLogOn frmLogOn = new frmLogOn(data);
            if (frmLogOn.ShowDialog().Equals(DialogResult.Cancel))
            {
                frmLogOn.Close();
                frmLogOn = null;
                Application.Exit();
                return;
            }
            frmLogOn.Close();
            frmLogOn = null;
            this.Focus();
        }
        catch (Exception e1)
        {
            MessageBox.Show("There was an error " + e1);
        }
    }
    private void maintenanceToolStripMenuItem_Click(object sender, EventArgs e)
    {
        mdiMaintenance maintenance = new mdiMaintenance(this,data);
        maintenance.Enabled = true;
        maintenance.Show();
    }
}
 public partial class mdiMaintenance : Form
{
    private myDataAccess3 data;
    private mdiMain mdiMain;
    public mdiMaintenance()
    {
        InitializeComponent();
    }

    public mdiMaintenance(mdiMain mdiMain, myDataAccess3 data)
    {
        // TODO: Complete member initialization
        this.mdiMain = mdiMain;
        this.data = data;
    }
    private void mdiMaintenance_Load(object sender, EventArgs e)
    {
    }

感谢您的帮助

第二个表单未正确显示

如果窗体旨在成为 MDI 子项,则需要设置 MdiParent 属性:

private void maintenanceToolStripMenuItem_Click(object sender, EventArgs e)
{
    mdiMaintenance maintenance = new mdiMaintenance(this,data);
    maintenance.Enabled = true;
    maintenance.MdiParent = this;
    maintenance.Show();
}