WinForms登录后返回登录页如何保持窗体引用并保留密码
解决WinForms返回登录页保留原实例及输入内容的问题
你的问题核心是每次返回登录页都新建了Login_Form实例,导致之前的输入丢失。要实现保留原实例和输入内容,只需要让Admin_Form持有原始登录窗体的引用,返回时直接显示这个实例即可,具体修改如下:
修改Login_Form的登录按钮事件
创建Admin_Form时,把当前登录窗体的实例传递过去:private void btn_admin_login_Click(object sender, EventArgs e) { var adminForm = new Admin_Form(this); adminForm.Show(); this.Hide(); }修改Admin_Form的构造函数
添加字段保存登录窗体的引用,修改构造函数接收这个实例:private readonly Login_Form _loginForm; public Admin_Form(Login_Form loginForm) { InitializeComponent(); _loginForm = loginForm; }修改Admin_Form的返回按钮事件
直接显示保存的原始登录窗体实例,不再新建:private void Btn_back_Click(object sender, EventArgs e) { _loginForm.Show(); this.Hide(); }
这样调整后,点击返回按钮时显示的是最初创建的Login_Form实例,输入框里的密码内容会完整保留。如果后续需要处理窗体关闭的场景,可以在Admin_Form的FormClosing事件中做额外处理,避免登录窗体被意外释放。
内容的提问来源于stack exchange,提问作者George
相关产品推荐
相关产品推荐

