显示不活动对话框

时间:2011-05-18 05:57:16

标签: c# winforms modal-dialog

我正在开发一个模块,如果2分钟没有激活,我将注销我的应用程序。 2分钟后,我将表单的visible属性设置为false并显示注销屏幕。当用户再次登录时,我只需将上一个活动表单的visible属性设置为true。

现在我正在显示表单A,此表单中有一个按钮,将另一个表单B显示为对话框。

当需要注销时,我只需将两个表单(A,B)的可见属性设置为false。当用户再次登录时,我将此属性设置为true。

但问题是表格B现在没有显示为对话框。

此外,如果在我的登录代码中,我将表单B设置为

form b.ShowDialog();

它显示为对话框但现在输入此表单文本字段的数据(在注销之前)已被清除。

有人可以解释这种行为的原因吗?

我想将表单B显示为对话框,并且还希望保持表单中字段的状态。

>修改 此代码隐藏了表单。

if (Program.issueDepositForm != null)//form B static reference Checking if form B is not null
{
    Program.issueDepositForm.Visible = false; //Form B
    Program.saleproduct.Visible = false;//Form A f static refrence
}

此代码再次显示

Program.saleproduct.Visible = true; //Form Astatic refrence
if (Program.issueDepositForm.Visible == false) //Form B
{
    Program.issueDepositForm.ShowDialog();      //Form B
    //Program.issueDepositForm.Visible = true;

}

1 个答案:

答案 0 :(得分:0)

将Visible设置为false时,表单将关闭。 This answer建议了一种解决方法,即取消关闭表单,以便重新显示。