【问题标题】:Show inactivity Dialog显示不活动对话框
【发布时间】:2011-05-18 05:57:15
【问题描述】:

我正在开发一个模块,如果 2 分钟不活动,该模块将注销我的应用程序。 2 分钟后,我将表单的可见属性设置为 false 并显示注销屏幕。当用户再次登录时,我只需将最后一个活动表单的可见属性设置为 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;

}

【问题讨论】:

  • 愿意分享一些代码吗?
  • 也许你应该发布与问题有关的整个代码。你如何显示第二个对话框,你如何隐藏它以及你如何再次显示
  • 设置 visible=false;对话形式的属性改变它的对话行为?

标签: c# winforms modal-dialog


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-13
    • 2013-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-05
    • 1970-01-01
    相关资源
    最近更新 更多