我试图了解 WinForms 应用程序中以下代码的行为。
我有两个表格 - Form1 和 Form2。当我从 Form2 内部关闭 Form1 时,即使 Form2 也会关闭。我确保他们都将 Owner 属性设置为 null。
谁能从下面的代码中解释为什么 Form2 也会被关闭?
表格1:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
}
表格2:
public partial class Form2 : Form
{
Form1 f1;
public Form2(Form1 f1)
{
InitializeComponent();
this.f1 = f1;
}
private void button1_Click(object sender, EventArgs e)
{
f1.Close();
}
}
程序.cs
static void Main()
{
Form1 f1 = new Form1();
f1.Size = new Size(0, 0);
f1.Show();
Form2 f2 = new Form2(f1);
f2.ShowDialog();
Application.Run(new MainForm());
}
当单击 Form2 上的按钮时,Form1 和 Form2 都会关闭。我还确保该按钮不是 Form2 的确定按钮或取消按钮。谁能解释为什么会这样?