关掉当前界面,返回到上一界面,但不重新创建新的窗体对象
- 说明
- 第一步(给Form_user定义一个Form变量)
- 第二步(更改Form_user构造函数)
- 第三步(Form_login中具体跳转代码)
- 第四步(Form_user中具体跳转代码)
说明
我们以一个例子说明(登录窗体:
Form_login()
;用户窗体:
Form_user()
):
当我们制作了一个管理系统,其中含有登录功能,很多时候我们登录成功进入到用户界面,但此时我们需要退出用户,回到登录界面,我们可能会选择这样处理:
Form_user form_user = new Form_user(); // 实例化将要进入的窗体对象form_user.Show(); // 显示窗口this.Close(); // 关闭当前窗口
但是当我们想要回到登录界面时,我们同样使用以上方法。
此时我们会发现一个问题,每次跳转都需要新建一个对象,这样既费时有耗内存。
以下开始更好的方法:
在新建用户界面窗体时保存当前窗体对象,便于回跳
第一步(给Form_user定义一个Form变量)
Form_login form_login;
这个变量用于存储上一窗体信息。
第二步(更改Form_user构造函数)
public Form_user(Form_login form){InitializeComponent();form_login = form; // form_login为第一步中的全局变量}
第三步(Form_login中具体跳转代码)
Form_user form_user = new Form_user(this); // 实例化将要进入的窗体对象form_user.Show(); // 显示窗口this.Hide(); // 隐藏当前窗口,便于回跳
以上代码中第一句中含有参数
this
,表示当前
form_login
窗口。
第四步(Form_user中具体跳转代码)
form_login.Show(); // 为第一步中form_loginthis.Close(); // 关闭form_user