首页 > 后端开发 > C++ > 如何在C#中正确打开新窗体并关闭当前窗体?

如何在C#中正确打开新窗体并关闭当前窗体?

Linda Hamilton
发布: 2025-01-06 13:17:39
原创
709 人浏览过

How to Properly Open a New Form and Close the Current Form in C#?

如何在 C# 中打开新表单和关闭当前表单

在开发 C# 应用程序时,您可能会遇到需要以下情况:从当前表单中的按钮打开一个新表单,关闭当前表单,然后将焦点放在新打开的表单上。以下是实现此目标的方法:

史蒂夫的解决方案

一种常见的方法是使用以下代码:

private void Button1_Click(object sender, EventArgs e)
{
    var form2 = new Form2();
    form2.Show();
    this.Close();
}
登录后复制

但是,此解决方案有一个缺陷。当调用 this.Close() 时,当前表单和新打开的表单(form2)都会被释放。为了防止这种情况,您应该考虑隐藏当前表单而不是关闭它。

更正的解决方案

要打开新表单并关闭当前表单,请使用以下命令代码:

private void OnButton1Click(object sender, EventArgs e)
{
    this.Hide();
    var form2 = new Form2();
    form2.Closed += (s, args) => this.Close();
    form2.Show();
}
登录后复制

在此更正解决方案:

  • this.Hide() 隐藏当前表单。
  • 创建并显示新的 Form2 实例(form2)。
  • 添加事件处理程序到 form2 的 Closed 事件。此事件处理程序在 form2 关闭时调用 this.Close(),确保仅在新表单关闭后才关闭当前表单。

此方法确保新表单 (Form2) 打开并聚焦,而当前表单 (Form1) 被隐藏并随后关闭。

以上是如何在C#中正确打开新窗体并关闭当前窗体?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板