【问题标题】:Winform handlingWinform 处理
【发布时间】:2013-05-15 23:23:32
【问题描述】:

我有 3 个表格。 我们可以通过form1进入form2。(然后form1会消失。) 当我们关闭form2时,form1会重新出现。 同样我们可以通过form2进入form3。(然后form2会消失。) 当我们关闭form3时,form2应该会重新出现。(这是我失败的部分。)

当我关闭form3时,出现的表单是form1而不是form2。 (相同的实例必须重新出现。不允许“创建新的表单对象并使其出现”:))

请帮忙。

form1 中的代码:

        this.ShowInTaskbar = false;
        this.Visible = false;
        Form2 f2 = new Form2();
        f2.ShowDialog();
        this.Visible = true;
        this.ShowInTaskbar = true;

form2 中的代码:

        this.Visible = false;
        this.ShowInTaskbar = false;
        Form3 f3 = new Form3();
        f3.ShowDialog();
        this.Visible = true;
        this.ShowInTaskbar = true;

【问题讨论】:

  • Form3 的代码在哪里?
  • 没有form_closed事件代码..
  • form3 没有任何关闭的事件代码。上面两个代码组实现为按钮点击事件。当我通过标题栏图标关闭表单时,form2、form1 操作正常。
  • “这就是我失败的地方”属于“它不起作用”类别。没有人知道那是什么意思。试一试,最小化任何出现在前台的窗口以找到您的表单。当您关闭对话框并且没有任何窗口可以接收焦点时,就会发生这种情况。另一个应用的窗口获得焦点。

标签: c# .net forms visibility


【解决方案1】:

不确定,但请尝试将 form2 的父级设为 form1:

form2.Parent=form1;

f2.ShowDialog(form1);

【讨论】:

  • 您能解释一下吗? @大卫
  • @jubairusman,我认为很明显,如果您不指定父级,则 form2 将是桌面的父级。由于您明确指定了父表单,因此当 form1 将其子表单(即 form2)置于最前面。
猜你喜欢
  • 1970-01-01
  • 2010-09-22
  • 1970-01-01
  • 1970-01-01
  • 2011-05-14
  • 1970-01-01
  • 1970-01-01
  • 2013-01-06
  • 1970-01-01
相关资源
最近更新 更多