前几天做一个程序,由于是基本新手,所以许多不会,现终于完事了,先记录下以便以后复习。
主要内容:
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还没有加载,无法将信息传入的尴尬,中转一下。