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写的一个登录界面--美感为零的程序员伤不起

【前言】 上次用swing来搞客户端,连续几天无法攻克技术难题---说是难题是因为 我感觉swing的机制高深莫测,是菜鸟杀手。所以将客户端的技术换成了wpf,以后可能会用java做服务端,看来现代...

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

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

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

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

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

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

WPF登录窗体

利用闲暇时间帮一个亲戚做一个库存管理系统,由于是一个C/S应用,于是用WPF来做,也是第一次用WPF真正意义上的实践吧,下面是登录窗口相关代码:<Window x:Class="David.WPF.L...

WPF库存管理系统界面(仿360UI风格)

在网络上常见的WPF仿360UI基础上改造,加上业务逻辑实现功能,界面如下:          数据编辑修改页面由于是第一次使用WPF,对于WPF中常用的MVVM模式并未涉及,业务逻辑使用CodeSm...

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

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

【mahapps.metro】WPF窗体关闭,提示用户是否退出对话框

写在前面的话在项目中,通常我们会在用户选择退出系统时给出一定的提示,让用户确认是否退出。并且需要使窗体右上角的关闭按钮和我们自定义的关闭按钮行为相一致。这篇文章会逐步实现我们的目的。如何实现编写窗体C...

WPF实现带欢迎界面的客户端

正常客户端一般需要1个界面:主界面,或者2个界面:登陆界面和主界面。但当主界面内容较多时,加载主界面需要一定的时间,当此时间超过10秒的时候,会让用户感觉出现假死的状态。此时就有必要在登陆和主界面初始...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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