ShowDialog在调用时隐藏对象

本文关键字:隐藏 对象 调用 ShowDialog | 更新日期: 2023-09-27 17:49:35

我遇到了一个非常奇怪的问题,我不知所措。我有一个窗体上有两个按钮(button1button2为此目的)。在这些按钮的单击事件中,将创建一个窗体的新实例,然后显示为一个对话框。

private void button1_click(object sender, EventArgs e)
{
    frmPanel1 panel1 = new frmPanel1();
    panel1.ShowDialog(this);
}
private void button2_click(object sender, EventArgs e)
{
    frmPanel2 panel2 = new frmPanel2();
    panel2.ShowDialog(this);
}

对于button1,一切都很好,模态看起来很好。对于button2,当我单击它时,this窗体上的对象在显示模态之前消失。我试图将父对象的可见状态设置为true,然后立即放入一个消息框来检查可见状态,结果显示为false。

关于frmPanel1frmPanel2属性的一切都是一样的,没有什么明显的跳到我面前。有什么想法吗,有什么建议关于如何调试,或者我甚至满足于强制可见状态返回true

ShowDialog在调用时隐藏对象

摩西,闻闻玫瑰。在这里发现了问题,我显然粘贴了一些代码,我不应该或喝醉了什么的。在frmPanel2类的顶部,我有一行声明了父对象类的本地实例-即

frmMain main = new frmMain();
谁也不知道我为什么/什么时候做了那件事。非常感谢kanchirk和Ron Beyer的建议,他们都极大地帮助缩小了问题的范围,使其最终成为一些愚蠢的东西。谢谢。

erik