WPF:验证登录后关闭登录窗口,显示主窗口的解决方法

原创 2015年11月20日 22:11:36


最近想做一个基于Socket的通讯工具,想模仿QQ那样,需要先登录,登录成功后才显示主界面。但一开始的时候只要对登录的窗体做Close,然后程序就直接退出了。因为程序入口是登陆窗体,一旦Close了,整个程序自然也就退出了,如果想实现关闭登录界面(不是Hide()隐藏),显示主界面的话,可以利用DialogResult来实现。主界面设置为入口的主界面。主界面的Load事件如下:

public MainWindow()
        {
            InitializeComponent();

            //显示登陆界面,验证后返回。
            LoginWindow loginWindow = new LoginWindow();
            loginWindow.ShowDialog();
            if (loginWindow.DialogResult != Convert.ToBoolean(1))
            {
                this.Close();
            }
            //显示登陆界面 结束
        }

也可以把代码放在Window_Loaded中,但缺点时候登陆窗口与主窗口都同时加载,而放在MainWindow()中先加载登陆窗口验证完毕后才加载主窗口。

然后在登录界面的验证按钮事件里验证通过后只要加上如下代码即可:

        private void BtLogin_Click(object sender, RoutedEventArgs e)
        {
            if (TxUserName.Text == "admin" && TxPassword.Password == "admin")
            {
                this.DialogResult = Convert.ToBoolean(1);
                this.Close();
            }
            else 
            {
                MessageBox.Show("账号或密码错误!");
            }
        }

 

这样就可以实现关闭登录界面时不退出应用程序了。

最近想做一个基于Socket的通讯工具,想模仿QQ那样,需要先登录,登录成功后才显示主界面。但一开始的时候只要对登录的窗体做Close,然后程序就直接退出了。因为程序入口是登陆窗体,一旦Close了,整个程序自然也就退出了,如果想实现关闭登录界面(不是Hide()隐藏),显示主界面的话,可以利用DialogResult来实现。主界面设置为入口的主界面。主界面的Load事件如下:

public MainWindow()
        {
            InitializeComponent();

            //显示登陆界面,验证后返回。
            LoginWindow loginWindow = new LoginWindow();
            loginWindow.ShowDialog();
            if (loginWindow.DialogResult != Convert.ToBoolean(1))
            {
                this.Close();
            }
            //显示登陆界面 结束
        }

也可以把代码放在Window_Loaded中,但缺点时候登陆窗口与主窗口都同时加载,而放在MainWindow()中先加载登陆窗口验证完毕后才加载主窗口。

然后在登录界面的验证按钮事件里验证通过后只要加上如下代码即可:

        private void BtLogin_Click(object sender, RoutedEventArgs e)
        {
            if (TxUserName.Text == "admin" && TxPassword.Password == "admin")
            {
                this.DialogResult = Convert.ToBoolean(1);
                this.Close();
            }
            else 
            {
                MessageBox.Show("账号或密码错误!");
            }
        }

 

这样就可以实现关闭登录界面时不退出应用程序了。

版权声明:本文为博主原创文章,请尊重个人版权。 Jacyee Wu

Wpf 实现登陆窗口

首先先来看一下效果图 这个是一个二次元风格的登陆窗口。 先来看一个窗口的布局文件。...

WPF中实现先登录后启动主程序的方法

我觉得先登录后启动应用主程序是一个很经典的问题,基本上如果要写一个应用程序都会用到这个的小环节。我在这个问题上挣扎了大半天才找到解决方案,我的实现方法我觉得有点不正宗,如果有哪位高手知道更好的方法欢迎...
  • swarb
  • swarb
  • 2013年12月13日 13:50
  • 8809

WPF开发实例——仿QQ登录界面

刚开始学WPF,自己写了个小东西,说实话写的并不好,好多东西不懂只是用现在懂的东西来写的,效果如图 下面是源码,理论上很简单,我直接放代码了。 自定义用户控件RightButton.xaml ...

WPF 登录窗口关闭时打开主窗口

在WPF中设计登录窗口关闭时打开主窗口,自动生成的App.xaml不能满足要求, 1、把App.xaml的属性窗口中的生成操作设定为 无 2、添加Program类 static cl...

C# WPF 快速开发10登陆界面

功能:将用户名、密码存在数据库,连续三次密码输错需等待30分钟才能再次登录 看似小小的功能,也是调试花了很长的时间。本来是想着,数据库可以记录用户连续输错3次的时间点,如果判断用户是在30分钟后再次...
  • wowkk
  • wowkk
  • 2013年06月02日 17:13
  • 12083

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Wpf实例-MVVM模式实现的登录窗体

Wpf的一个实例程序,使用MVVM模式实现登录界面

人事管理系统登录界面--WPF

登录界面要求如下: 1、如何保证密码的安全性。 2、如何进行密码验证。 3、如何当密码输错三次,用户自动锁定。 4、如何提示用户。 问题解决方案: 1、采用MD5加密,再进行加盐处...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

WPF登录窗体

利用闲暇时间帮一个亲戚做一个库存管理系统,由于是一个C/S应用,于是用WPF来做,也是第一次用WPF真正意义上的实践吧,下面是登录窗口相关代码:...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:WPF:验证登录后关闭登录窗口,显示主窗口的解决方法
举报原因:
原因补充:

(最多只允许输入30个字)