功能: 窗体登出功能实现 (C#学习日记2017-09-06)

来源:互联网 发布:java图形界面插件 编辑:程序博客网 时间:2024/06/04 19:53

在登录界面声明一个全局静态变量:

//全局静态变量        public static bool bisRelogin = false;


在登录界面显示主窗体,最好放在try{} catch{}中去捕获异常:

    //显示主窗体        private void ShowMain()        {            this.Hide();  //隐藏登录界面            //实例化一个主界面            frmMain frm_main=new frmMain();            //设置主界面的父界面为登录界面,可以不用设            frm_main.Owner = this;            //dialog显示主界面            DialogResult DR = frm_main.ShowDialog();            if (DR == DialogResult.Cancel)   //关闭事件            {                //全局静态变量 初始值为false                if (bisRelogin)                {                    bisRelogin = false;                    this.Show();  //显示登录界面                }                else                    this.Close();            }        }


主界面的登出按钮事件,需要注意的是,在下边两种情况下调用Close不会释放窗体,

(1)窗体是多文档界面(MDI)应用程序就的一部分且是不可见的;

(2)使用ShowDialog显示该出窗体;

这些情况下需要手动的去调用Dispose来将窗体的所有控件都标记为需要进行垃圾回收。本例中就属于第二种情况




        //登出功能        private void 登入登出TSItemLoginAndOut_Click(object sender, EventArgs e)        {            //释放资源,关闭窗体  设置全局变量            this.Dispose();            this.Close();            frmLogin.bisRelogin = true;        }





阅读全文
0 0
原创粉丝点击