[转载]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

posted @ 2013-05-09 12:43  ttssrs  阅读(966)  评论(0编辑  收藏  举报