【问题标题】:Open Form2 from Form1, How to close Form2, Form1 not close(still showing)?从 Form1 打开 Form2,如何关闭 Form2,Form1 不关闭(仍然显示)?
【发布时间】:2016-08-31 09:54:35
【问题描述】:

我有 1 个表单 1 控制器:ControllerForm1.cs 调用表单 1 显示

private Form1 frm1 { get; set; }

this.frm1 = new Form1(this);
this.frm1.ShowDialog();

form1 (Form1.cs)是一个按钮,当我点击它,然后打开form2 (Form2.cs)form1没有关闭(仍然显示)强>

private Form2 frm2 { get; set; }

private void btnForm1_Click(object sender, EventArgs e)
{
    int num = Calculate();
    if (num != 0)
        {
            // Show form 2
            this.frm2 = new Form2(this);
            this.frm2.ShowDialog();
        }
        else
        {
            this.Close();
        }
}

Form 2(Form2.cs) 是关闭按钮

private void btnClose_Click(object sender, EventArgs e)
{
    this.Close();
}

我不知道怎么办,如果我关闭了Form2,Form1没有关闭(仍然显示)。

我试过,但是当点击表单2的关闭按钮时,表单1被关闭了。

【问题讨论】:

  • 请勿将.ShowDialog() 用于您的Form2
  • 如果你想关闭Form1,在关闭Form2之后,在frm2.ShowDialog();之后调用this.Close();就足够了。有什么问题?
  • 我用.ShowDialog()到Form2,因为当显示form 2时,我不想在form 1上操作
  • Reza:我不想在关闭 Form2 后关闭 Form1。我想当form2关闭时,form1不关闭(仍然显示)
  • @MinhKiyo Form1 仍然开放。你没有关闭它。

标签: c# forms winforms


【解决方案1】:
 Form2 frm= new Form2();
 frm.Show();
 frm.Focus();
 this.Hide();

【讨论】:

  • 我不想在关闭 Form2 后关闭 Form1。怎么办?
  • 你也可以重新打开
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-01-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-21
相关资源
最近更新 更多