C# 我需要调用Form.Close(),还是为我处理?

C# 我需要调用Form.Close(),还是为我处理?,c#,winforms,garbage-collection,C#,Winforms,Garbage Collection,使用C#和WinForms,我有一个基本菜单,可以在点击按钮时调用各种表单: private void Some_Button_Click(object sender, EventArgs e) { var someForm = new SomeForm(); someForm.MdiParent = MenuForm; someForm.Show(); someForm.Bring

使用C#和WinForms,我有一个基本菜单,可以在点击按钮时调用各种表单:

private void Some_Button_Click(object sender, EventArgs e)
        {
            var someForm = new SomeForm();

            someForm.MdiParent = MenuForm;
            someForm.Show();
            someForm.BringToFront();
        }
我关心的是记忆的使用。当用户单击“x”关闭窗体时,窗口关闭时是否已调用
form.close()
?或者,我是否需要创建一个事件来显式调用
Form.Close()

当用户单击“x”关闭窗体时,窗口关闭时是否已调用
form.close()

否,将触发
FormClosing
事件
Form.Close
告诉系统关闭表单(在这种情况下也会触发
FormClosing
事件)


Close
是一个命令
FormClosing
被调用以响应命令。

不,您不需要。除非通过代码手动关闭
表单
,否则不需要调用
表单.Close()
。在传统的.NET方式中,类的Close()方法调用Dispose()。这也适用于Form类。在某些情况下,确实需要调用Dispose(),这是使用ShowDialog()而不是Show()时所必需的。它不能是自动的,因为您通常会在ShowDialog()调用之后获得对话框结果。并使用using语句正确地完成。不是这里的情况,对我来说已经够好了。多谢!