ShowDialog在调用时隐藏对象

时间:2015-05-19 01:04:22

标签: c# visible showdialog

我遇到了一个非常奇怪的问题,我不知所措。我有一个表单上有两个按钮(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属性方面的一切都是一样的,没有什么明显的跳出来。对此有任何想法,有关如何调试的任何建议,或者我甚至决心迫使可见状态恢复正常。

1 个答案:

答案 0 :(得分:1)

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

frmMain main = new frmMain();

为什么/当我这样做时,任何人都在猜测。非常感谢kanchirk和Ron Beyer提出的建议,他们都极大地帮助将问题缩小到了最终无法实现的目标。感谢。

埃里克