【问题标题】:c# gui - navigate between formsc# gui - 在表单之间导航
【发布时间】:2011-12-17 20:00:25
【问题描述】:

我正在编写 c# GUI,我有 2 个表单。

Form1是我的主窗体,它有一个打开form2的按钮。

form1中的按钮被点击时,我隐藏form1,创建form2的新对象并显示form2

我在form2 中有一个后退按钮。我希望此按钮的行为关闭form2,并再次显示隐藏的form1

我该怎么做?

【问题讨论】:

    标签: c# forms user-interface back-button


    【解决方案1】:

    让您的form1 订阅form2VisibleChange 事件并采取相应措施。它必须“记住”form2 是可见还是隐藏(或直接查询)。

    替代方案是:

    您的form2 需要引用form1

    这可以通过多种方式完成 - 在构造函数参数中传递它,添加属性并为其分配 form1

    这两种方式中的任何一种都会使这些形式彼此紧密耦合(坏事)。

    【讨论】:

      【解决方案2】:

      你试过了吗

           Form1.Visible = true;
           Form1.Activate();
      

      然后在 Form1 VisibleChanged 事件中你只需编写

           Form2.Close();
      

      【讨论】:

      • Form 类没有公开Activate 方法,它接受另一个Form 作为参数。
      • 对不起,我在 OnLoad 事件上写了,但我的意思是 VisibleChanged 事件,因为您的表单已经加载,如果您只更改表单的可见性,它将不会执行该部分。
      • 你说得对@ebb 我在考虑AddOwnedForm 方法,它并没有完全出于同样的原因使用^^ 我会更新我的答案谢谢
      • 如果我完全回答了这个问题,别忘了把这个问题标记为已回答:)
      猜你喜欢
      • 2019-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-17
      • 1970-01-01
      • 1970-01-01
      • 2021-12-17
      • 1970-01-01
      相关资源
      最近更新 更多