当用户使用右上角X或Alt + F4关闭System.Windows.Forms.Form时,是否会自动释放它?表单显示为form.Show(this),而不是form.ShowDialog(...);
答案 0 :(得分:14)
使用Show
,是的(在WmClose
结束时)。使用ShowDialog
,不是。有趣;-p
对于ShowDialog,see MSDN:
由于显示为对话框的表单未关闭,因此当您的应用程序不再需要该表单时,必须调用表单的Dispose方法。
要证明这一点,但是:
Form main = new Form();
Form test = new Form();
test.Text = "Close me";
test.Disposed += delegate {
main.Text = "Second form was disposed";
};
main.Shown += delegate {
test.Show();
};
Application.Run(main);