| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2490 人关注过本帖
标题:[分享]主窗体与登录窗体
只看楼主 加入收藏
jacklee
Rank: 7Rank: 7Rank: 7
来 自:XAplus
等 级:贵宾
威 望:32
帖 子:1769
专家分:104
注 册:2006-11-3
收藏
得分:0 
如果是那样还不如写在App.run前面来初使化启动的登录窗体

XAplus!
讨论群:51090447
删吧删吧,把我的号给删了!
2007-02-09 08:15
liuminghui
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:2882
专家分:0
注 册:2007-1-26
收藏
得分:0 
10楼的方法,我试了一下,出现点问题,是不是我使用的位置错误了啊?

海鸽 is My Lover!!
2007-02-09 08:50
初学Delphi
Rank: 3Rank: 3
等 级:新手上路
威 望:9
帖 子:330
专家分:0
注 册:2006-4-4
收藏
得分:0 
窗体隐藏是不是一直存在着。所以感觉不如用窗体激活事件
登陆成功之后,给主窗体的全局变量 赋值,关闭登陆窗体,引发主窗体的激活事件,判断
2007-02-09 12:44
jacklee
Rank: 7Rank: 7Rank: 7
来 自:XAplus
等 级:贵宾
威 望:32
帖 子:1769
专家分:104
注 册:2006-11-3
收藏
得分:0 
EM,如果HIDE用多了,忘了关闭会占掉不必要的内存

XAplus!
讨论群:51090447
删吧删吧,把我的号给删了!
2007-02-09 12:48
liuminghui
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:2882
专家分:0
注 册:2007-1-26
收藏
得分:0 
用窗体激活事件,不用隐藏?
那登录后的登录窗体怎么办呢??

海鸽 is My Lover!!
2007-02-09 13:56
wongjay
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2006-9-21
收藏
得分:0 

关于这个问题,也困扰了我很就,后来想了一种方法。。

把登陆窗体和主窗体和到一起

把主窗体上的菜单,按钮等等控件Enable属性全部设成false,只保留登陆用的标签,文本框,按钮

登陆验证成功后将登陆用的控件Visble属性设置false,其他控件Enable属性再设置成true

哈哈,算是一个招吧。。。。。。。。

2007-02-09 18:38
liuminghui
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:2882
专家分:0
注 册:2007-1-26
收藏
得分:0 
不错的一招!!

海鸽 is My Lover!!
2007-02-10 13:17
初学Delphi
Rank: 3Rank: 3
等 级:新手上路
威 望:9
帖 子:330
专家分:0
注 册:2006-4-4
收藏
得分:0 

主窗体是哪个?
是登陆进去之后的那个
登陆界面在主窗体的load事件写
登陆成功之后 改主窗体的变量为true
关闭登陆窗口
如果登陆失败 重新登陆
超过5次 登陆窗体关闭
这时主界面变量还是false 激活事件。。。。。

2007-02-10 13:47
初学Delphi
Rank: 3Rank: 3
等 级:新手上路
威 望:9
帖 子:330
专家分:0
注 册:2006-4-4
收藏
得分:0 
以下是引用wongjay在2007-2-9 18:38:15的发言:

关于这个问题,也困扰了我很就,后来想了一种方法。。

把登陆窗体和主窗体和到一起

把主窗体上的菜单,按钮等等控件Enable属性全部设成false,只保留登陆用的标签,文本框,按钮

登陆验证成功后将登陆用的控件Visble属性设置false,其他控件Enable属性再设置成true

哈哈,算是一个招吧。。。。。。。。

功能倒是实现了
怎么感觉很别扭 不太符合常理。。
不过可以借鉴一下你的想法。。。
最近做系统 想把主窗体的子窗体和主窗体的一个控键只能显示一个。。。。

2007-02-10 13:51
alertmoot
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2007-2-6
收藏
得分:0 

  不能这么做!如果只是把登陆窗口隐藏了,然后打开第二个窗口,就算添加了一个Application.Exit()也只能说简单的解决了眼前的问题,但忽略了另一个问题——你的程序在运行时,仍有一个没必要存在的窗体在后台运行!
前些时,我也做了有关登陆窗体的程序,当时我用了很多方法,包括隐藏登陆窗体,dispose登陆窗体。最后找到了一个完善的方法来解决问题。
  首先,就想我说的隐藏登陆窗体会占用本应该没必要占用的资源,我后来用dispose来释放登陆窗体,但大家知道,如果一个启动窗体被dispose了,那这个程序也将被终止,但如果用dispose(false),就不会释放将前的窗体所占资源,也就是说,这个窗体只是被关闭,而程序的进程却不会终止。似乎这个能解决问题,但如果在这个基础上新建一个窗体,就算在那个窗体中设了Application.Exit()也只能关闭新建的那个窗体进程,而整个程序的进程却关闭不了!
  最后我找到一个完善的方法来解决问题,就是新建一个文件(这在Visual Studio 2005中已经帮你做到了!)叫Program.cs,把Main方法写在那个文件里,安你的程序所要运行的顺序写在里面,比如说登陆窗体叫Form1,运行窗体叫Form2,那么程序应该这样写:
Application.Run(new Form1);
Application.Run(new Form2);
如果在Form1中登陆成功,那种就关闭Form1或dispose Form1,程序将运行下面一个命令也就是运行Form2窗体,而如果登陆不成功,那么,在Form1中运行Application.Exit()那么整个程序将会终止,而程序也不会执行下一条语句!
这是我对登陆窗体和运行窗体之间关系的解决方法,有什么不妥的地方,还请大家不啬赐教!


2007-02-11 18:18
快速回复:[分享]主窗体与登录窗体
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.033831 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved