[转载]C#开发Winform记录用户登录状态的方法
首先创建一个用于记录用户登录状态,比如保存帐号,登录时间。使用公共静态属性定义LoginInfo CurrentUser. 该属性返回自己类的实例。在其它模块调用时使用LoginInfo.CurrentUser.Account.
[Serializable] public class LoginInfo { //用户帐号,登录帐号 private string _Account = ""; public string Account { get { return _Account; } set { _Account = value; } } //用户名 private string _AccountName = ""; public string AccountName { get { return _AccountName; } set { _AccountName = value; } } //登录时间 private DateTime _LoginTime; public DateTime LoginTime { get { return _LoginTime; } set { _LoginTime = value; } } private static LoginInfo _CurrentUser = null; //应用单件模式,保存用户登录状态 public static LoginInfo CurrentUser { get { if (_CurrentUser == null) _CurrentUser = new LoginInfo(); return _CurrentUser; } } }
下面来测试调用这个类:
public class Tester { public void Test(Label showMsg) { //假设这里登录窗体,并且由vjsdn帐号登录成功,保存vjsdn用户状态 bool login = true; if (login) { LoginInfo.CurrentUser.Account = "vjsdn"; LoginInfo.CurrentUser.AccountName = "易学网"; LoginInfo.CurrentUser.LoginTime = DateTime.Now; } //假设这里是显示当前登录用户的窗体 string msg = "帐号:{0},用户名:{1} 在{2}时登录成功!"; //获取公共类保存的用户登录信息. msg = string.Format(msg, LoginInfo.CurrentUser.Account, LoginInfo.CurrentUser.AccountName, LoginInfo.CurrentUser.LoginTime.ToString()); showMsg.Text = msg; MessageBox.Show(msg); } }
from:http://blog.csdn.net/windxxf/article/details/6574723