📅  最后修改于: 2023-12-03 15:13:53.168000             🧑  作者: Mango
在C#中,关闭表单是一个常见的操作,通常在用户完成某些操作后,需要关闭当前表单并返回到上一个表单或终止应用程序。在本文中,我们将介绍可以使用的几种方法来关闭表单。
最常用的关闭表单方法是调用this.Close()
函数,这将立即关闭当前表单。例如:
private void btnClose_Click(object sender, EventArgs e)
{
this.Close();
}
这个方法不仅适用于按钮的单击事件,也可以在其他上下文中使用,例如在其他函数的末尾。需要注意的是,如果当前表单被用作对话框,那么使用这种方法将不起作用,因为对话框必须使用this.DialogResult
属性来设置它的返回值。
如果当前表单是一个对话框,并且需要在关闭时返回一个值,可以通过设置DialogResult
属性来实现。例如,如果表单包含一个确认和取消按钮,可以按以下方式关闭:
private void btnOK_Click(object sender, EventArgs e)
{
this.DialogResult = DialogResult.OK;
this.Close();
}
private void btnCancel_Click(object sender, EventArgs e)
{
this.DialogResult = DialogResult.Cancel;
this.Close();
}
这样,关闭表单后将返回DialogResult.OK
或DialogResult.Cancel
的值,具体取决于用户点击的是哪个按钮。
有时,我们需要在关闭表单之前向其他表单发送一些信息。这可以通过将表单作为参数传递给构造函数,或者将其设置为公共属性来实现。例如,要将当前表单的文本框值传递给另一个表单:
public partial class Form1 : Form
{
public string TextBoxValue { get; set; }
private void btnClose_Click(object sender, EventArgs e)
{
this.TextBoxValue = this.txtBox.Text;
MyOtherForm otherForm = new MyOtherForm(this);
otherForm.Show();
this.Close();
}
}
public partial class MyOtherForm : Form
{
private Form1 mainForm;
public MyOtherForm(Form1 form)
{
this.mainForm = form;
InitializeComponent();
}
private void MyOtherForm_Load(object sender, EventArgs e)
{
this.lblValue.Text = this.mainForm.TextBoxValue;
}
}
这样,当用户关闭当前表单时,它将打开一个新的MyOtherForm
表单,并显示Form1
表单的文本框值。
最后,如果需要在应用程序级别关闭所有表单,可以使用Application.Exit()
函数。这将关闭整个应用程序,无论它当前打开了多少个表单。例如:
private void btnCloseAll_Click(object sender, EventArgs e)
{
Application.Exit();
}
需要注意的是,这将立即终止应用程序,可能会造成数据或状态丢失,因此应该谨慎使用。
以上是C#中几种常用的关闭表单方法,程序员可以根据具体的需求来选择使用哪一种方法。