C# winform 主界面打开并关闭登录界面

在winform 界面编程中,我们有时候要在主界面打开之前先显示登录界面,当登录界面用户信息校验正确后才打开主界面,而这时登陆界面也完成使命该功成身退了。

目前有两种方法可实现:

方法1. 隐藏登录界面

Program.cs 中代码如下:

        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Login());
        }

Login.cs 中代码如下:

        /// <summary>
        /// login
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnLogin_Click(object sender, EventArgs e)
        {
            if (txtPassword.Text == "12345678")
            {
                UI ui = new UI();
                this.Visible = false;
                ui.ShowDialog();//此处不可用Show()
                this.Dispose();
                this.Close();
            }
            else
            {
                MessageBox.Show("Password is incorrect ", "Prompt message",MessageBoxButtons.OK,MessageBoxIcon.Error);
            }
        }

        /// <summary>
        /// exit
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnExit_Click(object sender, EventArgs e)
        {
            this.Dispose();
            this.Close();
        }

方法2. 登录界面以 dialog形式打开,返回登录结果

Program.cs 中代码如下:

        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Login login = new Login();
            login.ShowDialog();
            if (login.DialogResult == DialogResult.OK)
            {
                login.Dispose();
                Application.Run(new UI());
            }
            else if (login.DialogResult == DialogResult.Cancel)
            {
                login.Dispose();
                return;
            }
        }

Login.cs 中代码如下:

        /// <summary>
        /// login
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnLogin_Click(object sender, EventArgs e)
        {
            if (txtPassword.Text == "12345678")
            {
                this.DialogResult = DialogResult.OK;
                this.Dispose();
                this.Close();
            }
            else
            {
                MessageBox.Show("Password is incorrect ", "Prompt message",MessageBoxButtons.OK,MessageBoxIcon.Error);
            }
        }

        /// <summary>
        /// exit
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnExit_Click(object sender, EventArgs e)
        {
            this.DialogResult = DialogResult.Cancel;
            this.Dispose();
            this.Close();
        }
时间: 2024-10-14 09:35:09

C# winform 主界面打开并关闭登录界面的相关文章

用IOS做一个界面切换的效果(登录界面和注册界面和找回密码界面的切换)(用封装好的lable和textf创建界面)

创建一个类封装uitextfield和UIlabel (源代码.m文件) #import "TLView.h" @interface TLView () { UILabel *_desLabel;    //左边的lable UITextField *_textField;//右边的 } @end @implementation TLView //改写父类的初始化方法,处理相同的性能 - (id)initWithFrame:(CGRect)frame { self = [super i

WinForm 实现登录,验证成功,关闭登录界面,显示主界面

点击登录按钮时: 1 if (this.txtLoginName.Text.Trim()=="admin" && this.txtLoginPwd.Text.Trim()=="123456") 2 { 3 this.DialogResult = DialogResult.OK; 4 this.Close(); 5 } 6 else 7 { 8 MessageBox.Show("用户名或密码错误", "信息提示"

WPF和Expression Blend开发实例:模拟QQ登陆界面打开和关闭特效

不管在消费者的心中腾讯是一个怎么样的模仿者抄袭者的形象,但是腾讯在软件交互上的设计一直是一流的.正如某位已故的知名产品经理所说的:设计并非外观怎样,感觉如何.设计的是产品的工作原理.我觉得腾讯掌握了其精髓.在2013版的桌面版QQ中,腾讯的登陆界面在打开的时候有一个展开的过程,而关闭的时候有个收缩的过程.效果如图: 借助WPF和Expression Blend,我们可以轻易的实现这么一个效果,最终用比较慢的速率实现这个效果如下: 这个效果一共能够分成两个部分:展开和收缩,具体的代码如下: 收缩的

FineReport中如何自定义登录界面

在登录平台时,不希望使用FR默认的内置登录界面,想通过自定义登录界面实现登录操作,内置登录界面如下图: 登录界面,获取到用户名和密码的值,发送到报表系统,报表服务带着这两个参数访问认证地址进行认证. 自定义登录界面 登录界面设置 自定义html登录页面:命名为login.html,并保存在%FR_HOME%\WebReport下,代码如下: <html>   <head>  <meta http-equiv="Content-Type" content=&

(三)SSO之CAS框架单点退出,退出到CAS登录界面

应需求的改变.CAS自己定义登录页面不安全,不再使用,于是我一下子回到了原点.在linux上部署上了没有加自己定义登陆界面的CAS,接下来開始改动CAS自己默认的登录界面为我们的界面. 一下子改动成功是根本就不可能的,于是删一点cas的源代码的东西.看看效果,然后再删除一些不必要的东西.看看效果,再加上自己系统登录界面的样式,就这样一步步的做成自己系统登录界面的样式,登录界面完成后就是,CAS默认的登出界面了. 登出界面的要求.在登出的时候返回到登录的主界面,就去改动了CAS的登出的界面了. 有

30分钟搞定后台登录界面(103个后台PSD源文件、素材网站)(转)

出处:http://www.cnblogs.com/best/p/6582294.html 目录 一.界面预览 二.PSD源文件预览 三.工具分享 四.资源说明 五.素材下载网站 六.下载 去年八月时要做一个OA系统为了后台界面而烦恼,后来写了一篇博客(<后台管理UI的选择>)介绍了选择过程与常用后台UI,令我想不到的时竟然有许多开发者与我一样都为这个事情而花费不少时间,最后界面效果还是不佳:还好这个OA系统已经基本交付给客户在使用了,但登录界面还是非常难看,这几天花时间修改了一下,感觉还行,

Java网络编程:登录界面 登录验证 以及登录成功的好友界面

引言 ? ? 这部分我们就开始设计这个山寨版的qq了,首先最开始的就是需要一个登录界面,当输入的用户名密码正确之后,就跳转到登录成功的界面,我们这里登录成功之后设计的是显示该用户好友界面,这一串我认为是一个整体,所以就放在了一起来写,可能会造成本文比较长. ? 首先我们来看一下登录界面 ? 登录界面 ? ? 我们设计的登录界面如图所示 ? ? ? ? 分析界面 ? ? 这个界面可以分为三个大的部分,北部的一张图片,qq2003全新体验Q人类,中部的QQ号码,手机号码和Email登录部分,以及下面

显卡安装一直循环在登录界面——解决之-T450安装显卡驱动和cuda7.5发现的一些问题

今天,在笔记本T450上,要装zed双目相机的驱动,需要显卡模块和cuda7.5,使用了三种方式,才成功. 1.使用 sudo ubuntu-drivers devices 来查看显卡支持驱动版本,因为之前在实验室台式机的显卡是这样安装的,后来重启黑屏,同样的方式下载了好几个版本都跪了,只能采用第二中方式. 2.使用官网下载.run驱动包下载,也跪了,这回 把事情闹大了,直接不是黑屏,黑屏在终端使用sudo apt-get purge nvidia,或sudo apt-get remove ..

jQuery和CSS3炫酷GOOGLE样式的用户登录界面

这是一款使用jQuery和CSS3打造的GOOGLE样式的用户登录界面特效.该登录界面特效中,右上角的小问号和错误提示小图标使用SVG来制作,用户名和密码输入框采用浮动标签特效,可点击的按钮上使用了很酷的点击波特效. 整个登录界面简洁大方,互动性很强. 在线演示:http://www.htmleaf.com/Demo/201503131515.html 下载地址:http://www.htmleaf.com/jQuery/Form/201503131514.html