专业编程基础技术教程

网站首页 > 基础教程 正文

C# 确保同一应用程序中同一窗体只打开一个

ccvgpt 2024-12-28 11:47:12 基础教程 2 ℃

在可以通过使用静态变量和单例模式来确保同一应用程序中的同一窗体只打开一个实例。

以下是一个示例代码:

C# 确保同一应用程序中同一窗体只打开一个

using System;
using System.Windows.Forms;

public class MyForm : Form
{
    private static MyForm instance;

    private MyForm()
    {
        // 私有构造函数,防止外部实例化
    }

    public static MyForm GetInstance()
    {
        if (instance == null)
        {
            instance = new MyForm();
        }
        return instance;
    }
}

public class Program
{
    [STAThread]
    public static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);

        // 获取窗体实例
        MyForm form = MyForm.GetInstance();

        // 运行应用程序
        Application.Run(form);
    }
}

在上述示例中,定义了一个MyForm类,并使用单例模式确保只有一个窗体实例。通过将构造函数设置为私有,防止外部代码直接实例化窗体。使用GetInstance方法来获取窗体实例,如果实例尚未创建,则创建一个新实例并返回。否则,返回现有的实例。

在Program类的Main方法中,获取窗体实例并运行应用程序。这样,无论何时尝试打开该窗体,都只会显示现有的实例。

请注意,这只是一个简单的示例,您可以根据您的实际需求进行修改和扩展。

希望对您有帮助!如果您有任何进一步的问题,请随时提问。

Tags:

最近发表
标签列表