C# c正确的表格关闭检查并重新打开
我对C WPF有点陌生。在下面的代码中,我如何正确地检查表单关闭/最小化后,表单对象是否可以重用。我想做的是,当窗体关闭时,使用相同的对象将其打开?有点奇怪,在将其设为null并声明对象之后,它也不工作了C# c正确的表格关闭检查并重新打开,c#,wpf,forms,C#,Wpf,Forms,我对C WPF有点陌生。在下面的代码中,我如何正确地检查表单关闭/最小化后,表单对象是否可以重用。我想做的是,当窗体关闭时,使用相同的对象将其打开?有点奇怪,在将其设为null并声明对象之后,它也不工作了 private static SumByJournal sbj = null; public static void ShowSumByJournal() { if (sbj == null) { MessageBox.
private static SumByJournal sbj = null;
public static void ShowSumByJournal()
{
if (sbj == null)
{
MessageBox.Show("null object");
sbj = new SumByJournal();
sbj.Activate();
sbj.ShowDialog();
}
else
{
if (sbj.IsActive == true)
{
MessageBox.Show("active bro");
}
else
{
sbj.Activate();
if (sbj.IsActive == true)
{
MessageBox.Show("active test");
}
else
{
MessageBox.Show("still not active");
}
}
if (sbj.IsVisible == true)
{
MessageBox.Show("visible bro");
}
else
{
sbj.ShowDialog();
sbj.Show();
if (sbj.IsVisible == true)
{
MessageBox.Show("visible test");
}
else
{
MessageBox.Show("no visisable also.");
}
}
if (sbj.IsInitialized == true)
{
MessageBox.Show("initlize");
}
sbj.ShowDialog();
// so force it to null;
sbj = null;
sbj = new SumByJournal();
sbj.Activate();
sbj.ShowDialog();
// still does not show ??
}
}
请澄清一下。我们在这个问题上有点不知所措。当我运行上面的代码时。。它仍然没有激活。但是上面的代码不是WPF的常规做法,但是您可以发布一个可以复制相同的工作示例吗?由于上面的代码丢失了许多位SumByJournal等。我可能无法复制相同的位。对我来说,代码看起来像是从Winforms派生的。同时调用ShowDialog之前激活和ShowDialog之后显示看起来也有点不寻常。我使用给定的任何属性。之前我测试过winform,它有dispose检查功能。我使用showdialog而不是.show,因为焦点问题是Microsoft Excel插件。