C# 窗体应用:实现单例查找窗口,避免重复创建

在 C# 窗体应用程序中,我们经常需要使用一些辅助窗口,例如“查找”窗口。为了提高用户体验和程序性能,我们可以将“查找”窗口设计为单例模式,即只在首次使用时创建,之后通过显示和隐藏窗口来实现复用。

以下是实现步骤:

1. 创建自定义“查找”窗口类:

public partial class FindForm : Form
{
    // 窗口的构造函数和其他相关代码
}

2. 在主窗口类中声明“查找”窗口实例变量:

private FindForm findWindow;

3. 在主窗口“查找”按钮点击事件中创建或显示窗口:

private void btnFind_Click(object sender, EventArgs e)
{
    if (findWindow == null)
    {
        findWindow = new FindForm();
        findWindow.FormClosed += FindWindow_FormClosed;  // 添加窗口关闭事件处理程序
    }

    findWindow.Show();
}

4. 在“查找”窗口关闭事件中隐藏窗口:

private void FindWindow_FormClosed(object sender, FormClosedEventArgs e)
{
    // 隐藏窗口而不是关闭
    findWindow.Hide();
}

通过以上步骤,我们就可以实现一个单例的“查找”窗口。当用户首次点击“查找”按钮时,程序会创建一个新的“查找”窗口实例并显示出来。当用户关闭窗口时,窗口将被隐藏而不是关闭。当用户再次点击“查找”按钮时,程序会直接显示已存在的“查找”窗口,从而避免了重复创建窗口的开销,提升了程序性能。

C# 窗体应用:实现单例查找窗口,避免重复创建

原文地址: https://www.cveoy.top/t/topic/zVj 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录