如何从不同的 WinForm (A) 代码关闭不同的 WinForm (B)?

我已经设置好了 WinForm (B) 在 WinForm (A) 的代码中打开:

Form2 form2 = new Form2();
form2.ShowDialog();

最佳答案

您需要对代码进行两项更改:

  • 使用 Show 而不是 ShowDialog 以便第一个窗口仍然可以处理事件。
  • 保留对您打开的表单的引用。

  • 下面是一些示例代码:
    Form2 form2;
    
    private void button1_Click(object sender, EventArgs e)
    {
        form2 = new Form2();
        form2.Show();
    }
    
    private void button2_Click(object sender, EventArgs e)
    {
        form2.Close();
    }
    

    您需要添加一些逻辑以确保在打开表单之前无法关闭它,并且不会尝试关闭已经关闭的表单。

    关于c# - 如何从另一个 WinForm 的代码中关闭不同的 WinForm?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2931711/

    10-17 00:59