浅谈如何在C#Winform程序中正确使用登录窗体

看到很多朋友在CSDN中发帖放分求“如何实现登录验证正确后弹出主窗体”的问题。关于这个问题的实现方法,一般很多人都是使用在登录窗体点击“登录”按钮后,通过后台数据验证正确后,把登录窗体隐藏,然后载入主窗体。还有一种做法是以上提问的这些人的一个不太对的一个实现办法(其实是无法实现的),他们的做法是点击“登录”按钮后,调用this.close()方法去把登录窗体关闭,然后实例化主窗体
           frmMain dlg=new frmMain();
           dlg.ShowDialog();
         用以上代码想实现登录后加载主窗体,你可以发现,当点击“登录”按钮后,登录窗体确实是关闭了,然后程序加载主窗体,主窗体是一闪而过,随即又关闭了。这是为什么呢?其实,你调用登录窗体的关闭事件时,把进程给关了,frmMain和frmLogin窗体是同一个进程,所以就出现了以上的一闪而过的现象。
         那么我们如何能够实现验证登录信息正确后加载主窗体呢?我的答案是通过验证返回参数去实现过程控制。
         在程序的类库里定义一个全局变量,如Bool  bLoginOk=false;
         此变量在未作登录时的初始值为false。
         在项目中的Program.cs中,通过先加载frmLogin,点击登录窗体中的“登录”按钮后,在后台查询数据库验证合法性,如果合法,则把bLoginOk赋值true;否则赋值falsse。
         在最后通过判断bLoginOk的值
        if(bLoginOk==true)
       {
           Application.run(frmMain);
       }
      else
          Application.Exit();
          同样可以通过以上的方法实现验证数据库连接参数的准确性。

 

 

 

时间: 2024-09-27 17:38:11

浅谈如何在C#Winform程序中正确使用登录窗体的相关文章

浅谈Excel报表在Java程序中的应用

引言 报表输出是开发数据库应用程序经常涉及的内容,而一般的报表往往缺乏通用性,不方便用户进行个性化编辑.Excel是Windos平台上优秀的电子表格软件,如果把报表输出成Excel格式,用户就可以利用Excel的强大功能对报表进行再编辑,以满足自己的特殊需要.但是,长期以来,Java程序由于其跨平台特性,不能直接操纵Excel.为了实现纯Java的Excel解决方案,Apache Jakara推出了一个免费的开源项目POI.POI目前已比较成熟,可以处理MS Excel(97 - 2002)对象

浅谈如何在ASP.NET Core中实现一个基础的身份认证_实用技巧

ASP.NET终于可以跨平台了,但是不是我们常用的ASP.NET, 而是叫一个ASP.NET Core的新平台,他可以跨Windows, Linux, OS X等平台来部署你的web应用程序,你可以理解为,这个框架就是ASP.NET的下一个版本,相对于传统ASP.NET程序,它还是有一些不同的地方的,比如很多类库在这两个平台之间是不通用的. 今天首先我们在ASP.NET Core中来实现一个基础的身份认证,既登陆功能. 前期准备: 1.推荐使用 VS 2015 Update3 作为你的IDE,下

两个独立的winform程序中,如何传递form窗体界面?

问题描述 就是在客户端Winform程序中的一个form窗体,需要在Server端Winform程序中完整的展现出来,目前想到了两种方式:第一种方式:将客户端程序中的form窗体做截图,直接传递到B程序.这样做传输量太大,再者有滚动条的界面展示不出来,不好用:第二种方式:将客户端程序Form窗体中的所有控件属性(大小,位置,值等等)当作参数,传递到Server端程序,在Server端程序中重新构建界面:这样需要传递的各种元素太多,比较麻烦.请教各位高手,还有没有其他比较好的方法么? 解决方案 解

如何在 Java 应用程序中读取 8 位和 24 位 Microsoft Windows 位图(转)

window|程序 如何在 Java 应用程序中读取 8 位和 24 位 Microsoft Windows 位图在 Java 应用程序中加载位图文件的逐步指南 作者:Jeff West 和 John D. Mitchell 摘要目前,标准的 getImage() 方法仅支持 GIF 和 JPEG 图像.尽管存在用于读取 PNG(可移植网络图形)格式的 Java 例程,但我们还没听说过有用于读取 Microsoft Windows 位图图像的阅读程序.Jeff West 撰写的这篇技巧提供了加载

从WinForm程序中显示WPF Window出现“The URI prefix is not recognized”异

从WinForm程序中显示WPF Window出现"The URI prefix is not recognized"异常的解决方法 从WinForm App中显示WPF窗口的代码: MyWindow wpfWindow = new MyWindow(); WindowInteropHelper wih = new WindowInteropHelper(wpfWindow); wih.Owner = ownerHwnd; wpfWindow.ShowDialog(); 一般情况下,这

如何在MVC应用程序中使用Jquery_jquery

前言:转眼间,已经是11月中旬了,也从今天开始我要继续在研究ASP.NET MVC的细节用法,所以将这些读书笔记和个人心得写成博客,让大家也能学习到东西,我阅读的书籍是:ASP.NET MVC高级编程,下面我就说说MVC中如何使用JavaScript和Jquery.还有我们现在经常使用的Ajax. 1.Ajax初步介绍 (1) 现在我们创建的Web应用程序几乎都要用到Ajax技术,从技术上面讲,Ajax代表异步JavaScript和XML(Asynchronous JavaScript and

如何在MFC对话框程序中动态创建一个单文档。

问题描述 如何在MFC对话框程序中动态创建一个单文档. 就是在MFC对话框程序里单击一个按钮可以出现一个单文档界面,是MFC对话框的框架 解决方案 再做一个单文档的exe,点击按钮,启动它

如何在php服务器程序中实现对POST的结果返回

问题描述 如何在php服务器程序中实现对POST的结果返回 各位大神,我在做一个简单的PHP服务器程序,接收到另一方通过POST发送过来的参数,我对参数进行处理后,返回一个结果值给对方.但是我只知道通过$_POST来获得参数,不知道怎么发送结果值给对方. 解决方案 echo $变量 即可 解决方案二: 是的,对方可以直接获取response信息得到你输出的变量 解决方案三: 你的意思是我在服务器程序中echo $变量了,对方通过POST执行的结果就能收到$变量? 解决方案四: echo exit

C# winform 程序中触摸屏开发问题

问题描述 C# winform 程序中触摸屏开发问题 用C#写的winform程序,应用到触摸屏上,所有操作监控鼠标事件,但是在触摸屏上出现当手指按下时没有响应鼠标事件(mousedown),在手指抬起后触发了mousedown和mouseup事件.我记得有个Api可以设置触摸屏防止无意触碰触发事件的.但是忘记是哪个函数了(win32 Api).请问谁知道!麻烦告诉我一下. QQ 908567476 谢谢! 解决方案 关于C#的WinForm程序打包的问题 解决方案二: 关于C#的WinForm