微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MDI表单不显示,即使应该显示

如何解决MDI表单不显示,即使应该显示

当我打开文本文件时,我想在父窗体中打开Mdi子窗体。问题是,它根本不显示。在您询问之前,是的,它的主要形式是绝对设置为MDI容器的。请忽略以下事实:子窗体除了应该显示内容外什么也不做。

 private void OpenToolStripButton_Click(object sender,EventArgs e)
        {
            var dialog = new OpenFileDialog() { Filter = "Statement files|* .STA" };
            var result = dialog.ShowDialog();

            if (result == System.Windows.Forms.DialogResult.OK)
            {
                StatementForm statementForm = new StatementForm();
                statementForm.Text = dialog.FileName;
                statementForm.MdiParent = _mainForm;
                statementForm.StartPosition = FormStartPosition.CenterParent;
                statementForm.Dock = DockStyle.Fill;
                statementForm.Show();
            }
        }

解决方法

尝试在程序类中声明MainForm,如下所示:

static class Program
{
    internal static MainForm _mainForm;

    [STAThread]
    static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        _mainForm = new MainForm();
        Application.Run(_mainForm);
    }
}

然后您可以将其分配为父表单:

statementForm.MdiParent = Program._mainForm;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。