C# windows窗体的程序Singleton模式怎么不能控制了?
窗体类
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
namespace WindowsApplication2
{
/// <summary>
/// Form1 的摘要说明。
/// </summary>
public class Form1 : System.Windows.Forms.Form
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.Container components = null;
private static Form1 instance;
private Form1()
{
InitializeComponent();
}
public static Form1 GetInstance()
{
if(instance==null)
{
instance=new Form1();
}
return instance;
}
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if(components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Windows 窗体设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.Size = new System.Drawing.Size(300,300);
this.Text = "Form1 ";
}
#endregion
}
}
主类调用
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
namespace WindowsApplication2
{
/// <summary>
/// CMainClass 的摘要说明。
/// </summary>
public class CMainClass
{
public CMainClass()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
[STAThread]
static void Main()
{
Application.Run(Form1.GetInstance());
}
}
}
------解决方案--------------------你这种Singleton只是类调用时的Singleton 不能实现程序的Singleton 考虑用Mutex实现 或者检查当前里程实现