关于C#WINFORM登录窗口的做法

本文记录了一位新手在实现C# WinForm登录窗口时遇到的问题及解决方案。主要内容包括创建登录窗口和主窗口,保持登录窗口与主窗口皮肤一致,登录验证后传递用户信息至主窗口,以及登录窗口退出时程序完全退出。在解决过程中,作者发现并修复了登录窗口关闭时导致的窗口闪烁问题,通过在Program.cs中定义静态变量作为中转来传递登录信息,并探讨了窗体加载事件流程和值传递方法。最后提到了程序加载皮肤卡顿以及计划学习多线程和制作启动画面。
摘要由CSDN通过智能技术生成

前几天做一个程序,由于是基本新手,所以许多不会,现终于完事了,先记录下以便以后复习。

主要内容:

1、两个窗体frm_TPCalc(主窗体),frm_Login(登录窗口)

2、登录窗口要和主窗口皮肤一致,且主窗口支持换肤

---->要求登录窗口必须是主窗口的子窗体(目前水平认为必须这样,目前还是不行,因为虽然设置了但是子窗体关闭时主窗体才出来,无子窗体无法继承到)

3、登录窗口验证成功进入主窗体并将用户信息传入主窗体,验证失败仍然停留在登录窗口

---->3.1在子窗体定义属性获取用户信息然后主窗体调用;3.2主窗体要使用次用户信息的控件定义为公有;(这是自己最初的想法后来都不好使)

4、登录窗口直接退出(退出button或X)时,整个程序退出。

---->application.exit();是的用这个就行。(失败了)

用了几天做完后发现存在1个问题:登录窗口退出时,会出现窗口闪动,代码逻辑肯定有问题。

主要错误原因是登录窗口是主窗口ShowDialog出来的,子窗体关闭时回返回主窗体,用appliaction.exit了就会出现闪窗。

然后看网上些什么线程之类的也不会,然后就发帖请教。

继续改....直到成功代码如下:

在Program.cs中定义一个静态变量,用来实现登录窗口值的回传,这样就不必考虑frm_Login关闭时,frm_TPCalc还没有加载,无法将信息传入的尴尬,中转一下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值