您的位置:首页 > 其它

使用Singleton只建立一个窗口

2007-01-20 23:38 225 查看
有一个主窗口,上面有一个按钮,跳转到登陆窗口,现在要求只能由一个登陆窗口出现
这是登陆窗口的代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace nature
{
public partial class LoginForm : Form
{

private LoginForm()//将构造方法定义为私有,这样可以杜绝外部的访问
{
InitializeComponent();
}
//定义一个静态字段 它是类的一个自引用,也就是它一旦执行就是一个LoginForm的对象 它也是私有的
static LoginForm myLoginForm = new LoginForm();
//定义一个静态,公有的属性,它来访问上面的静态字段,并且要能够返回一个LoginForm对象,所以它的类型是LoginForm
//可以被外部采用"LoginForm._LoginForm"的方式访问,
public static LoginForm _LoginForm
{
get
{
return myLoginForm;
}
set
{
myLoginForm = value;
}

}
//这个方法必须定义,不然当关闭第一个生成的地登陆窗口后,再次点击登陆(再次生成LoginForm)就会报错
private void LoginForm_FormClosing(object sender, FormClosingEventArgs e)
{
LoginForm._LoginForm = new LoginForm();
}
}
}
然后在主窗口中的登陆按钮的Click事件中添加以下代码:

LoginForm myForm = LoginForm._LoginForm;
myForm.Show();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐