简介:解释所有我所试图做的,数字告诉我的问题怪异的行为
每当我打开一个新的子窗体的代码(两个功能)在我的申请中。我用来调用下面的函数。 (子表单可以有另一个孩子)
public void openNextForm(Form f1, Form f2)
{
f2.Owner = f1;
f2.WindowState = FormWindowState.Maximized;
f2.FormClosing += new FormClosingEventHandler(f_FormClosing);
f1.Hide();
f2.ShowDialog();
}
// When I close a child form by clicking cross or with ALT-F4
void f_FormClosing(object sender, FormClosingEventArgs e)
{
Form f = sender as Form;
f.Owner.Show();
}
关闭子窗体我用来显示所有者/父窗体。它工作正常。
但在某些情况下,当它显示关闭子窗体像
但这种形式的实际状态是
我主人形式的一些控件(按钮)被隐藏只有当我从复杂而冗长的子女形式(仍然在这种情况下,它有时可以正常工作)时,必须面对这种行为。如果是简单(小编码)的子表单,行为是正常的。
如果我按怪异运行得表格上的Alt键,从在实际状态令人惊奇地
我试图寻找这个问题,并发现了很多类似的,但最近我可以看到的是下面的,仍然是无法帮助我的人在的ShowDialog
C# Form Problem: new form losing control and randomly hiding
情况下,在使用从上面的链接下面的代码,每当我打开一个子窗体,然后再次子窗体的情况。所有表格都隐藏起来。所以它不能很好地工作。
public void openNextForm(Form f1, Form f2)
{
f2.Owner = f1;
f2.Show();
f1.Hide();
f2.FormClosing += new FormClosingEventHandler(f_FormClosing);
}
使用标签应该是一个解决方案,但我想保持形式单独和关闭/隐藏期间在所有情况下一致的行为/显示
检查回答了你的问题,下文称,其中规定,你不应该向孩子表明之前隐藏父,而你没有这样做。 –
@Furqan我需要实际showdialog和对话框的情况下,我必须showdialog之前隐藏,否则两种形式将显示。尽管如此,我的表现仍然像我的代码一样。 – Sami
解决它或投票它使任何显着。 – Sami