Rss & SiteMap
搭建论坛 http://bbs.diylsoft.com:8118/starforum/index.asp
下载信息 [文件大小: 下载次数: ] | |
![]() |
附件的例子中,第三级窗口有个“打印数据”和“导出数据”。其中“打印数据”按钮调用的是子项目,“导出数据”调用的是本项目中的窗口。
奇怪的问题在于:如果先点“导出数据”,再点“打印数据”,一切正常;如果退出,重新打开该项目,先点“打印数据”,再点“导出数据”,则“导出数据”的窗口无法正常显示了。实在不明白是什么原因,请管理员帮忙解决。。
这个例子,我主要是想解决,在调用子项目时,可以有效锁定窗口。
下载信息 [文件大小: 下载次数: ] | |
![]() |
从你的例子上看,应该与你的窗口放置顺序有关。从你的例子上看,一开始你的项目有多个窗口,然后再删去了若干窗口。这样导致,从窗口1——窗口17——窗口14——窗口7,而计算机在加载软件时,先画窗口1,再画窗口7,14,17这样的顺序。这样在不同项目间,隐藏可见间,可能会出现严重的逻辑错误。
建议:重新写一个项目,按照窗口1——窗口2——窗口3——窗口4的顺序加载一试。
另外,如果一个项目包含有十几个窗口,以后维护起来很困难,建议分项目去做。
重新写了一个项目,按窗口顺序重新做了一下,还是出现这样的错误。现在只有考虑其它变通的解决办法。。
因为刚接触搭建才几个月的时间,刚开始没意识到窗口太多的问题,基本处于边做边学的状态。现在已经开始注意把一些模块化的功能分解成多个项目来执行了。。
另外,本以为窗口中的活动、静止方法是和允许属性的真假相对应的,刚才也试了一下,竟然不是。可否请管理员把窗口中的“活动、静止、刷新、设置输入焦点、处理系统消息”这几个方法的用途详细介绍一下呢?问题搞清了,主要还是窗口“保持前置”属性的设置。如主贴示例所示,当你在“调用子项目”返回后,由于四个窗口的属性都设为“前置”,那么操作系统在处理的时候,不确定哪个窗口在前。而且操作系统不同,处理方式也不同,这就是为什么“XP”不行,而“2003”行;同一个操作系统有时行,有时不行的原因。
解决办法:将四个窗口的“保持前置”属性,都设为布尔值“假”。
建议:“保持前置”属性,不要烂用,如果必须用,最好只在一个窗口设置。多个窗口设置,由于不同操作系统处理方式不同,有时会出现莫名其妙的错误,请其他星友也注意这个问题。
在不修改前置属性的前提下,采用变通方法已经彻底解决:把总出问题的那个窗口先隐藏、再关闭一下就行了。见一楼附件。
问题虽然变通解决了,但总觉得很别扭。如有可能,还请李大俠彻查解决此问题
这个不是问题,窗口前置,不能多个窗口同时使用。