设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 10822|回复: 5
打印 上一主题 下一主题

[窗体] IsLoaded("窗体名")和 Screen.ActiveForm.Name有什么区别呢?

[复制链接]
跳转到指定楼层
1#
发表于 2011-2-9 13:02:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在下面两段代码上有点糊涂,不知如何使用。即:

IsLoaded("frm0i") = False 和Screen.ActiveForm.Name<>“frm0”在功能上有什么区别呢?

我个人感觉,如果只打开frm0一个窗体,这两个代码表达的意思应该是一样的。
如果打开了包括frm0在内的多个窗体,那IsLoaded只是表明该窗体是否打开,但不能判断该窗体是不是活动窗体。而Screen.ActiveForm.Name的值应该是指当前活动的窗体,既然是活动窗体,那么该窗体就肯定已经加载和打开了。

以上我的理解对不?如果是一个窗体中包括子窗体孙窗体,那么IsLoaded和Screen.ActiveForm.Name应该是指哪个窗体呢?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2011-2-9 13:27:49 | 只看该作者
IsLoaded函数是返回窗体是否加载,而Screen.ActiveForm.Name则是返回的当前处于活动状态的窗体名称,任一时间加载的窗体可能有多个,但处于活动状态的最多只有一个
3#
发表于 2011-2-9 17:30:48 | 只看该作者
本帖最后由 todaynew 于 2011-2-9 17:34 编辑
简 发表于 2011-2-9 13:02
我在下面两段代码上有点糊涂,不知如何使用。即:

IsLoaded("frm0i") = False 和Screen.ActiveForm.Name ...


你的问题好像存在三个概念,其一是打开的窗体;其二是加载的窗体;其三是当前活动的窗体。
1、打开的窗体与加载的窗体是两回事情,打开的窗体一定加载了,但反之不一定成立,对于子窗体、孙窗体来说是加载了,但不能视为其打开了。不信你用forms遍历是找不到已经加载于主窗体中的子窗体或孙窗体的。也就是说IsLoaded能判断的范围要比forms遍历到的范围大。
2、当前活动的窗体是针对打开的窗体而言的,而不是对加载窗体而言的,所以当前活动窗体一定是主窗体而不可能是子窗体或孙窗体。
3、同理关闭和卸载分别针对的是打开的窗体和加载的窗体,所以你对子窗体和孙窗体不应该用关闭事件,而只能用卸载事件。

这是我的理解,不一定正确。
4#
 楼主| 发表于 2011-2-9 18:05:18 | 只看该作者
todaynew 发表于 2011-2-9 17:30
你的问题好像存在三个概念,其一是打开的窗体;其二是加载的窗体;其三是当前活动的窗体。
1、打开的窗 ...

我查资料,对于你说的第一点,似乎应该是,打开的窗体不一定加载,加载了的窗体一定打开了。打开事件中有参数,如果cancel为真的话,窗体就不能加载。

我就没搞懂打开和加载有什么区别,有什么意义。如果我要判断一个窗体是否出现,我应该用打开还是加载呢?还有,如果是通过按钮来激活出现的窗体,应该是打开还是加载呢。
5#
发表于 2011-2-9 19:58:16 | 只看该作者
简 发表于 2011-2-9 18:05
我查资料,对于你说的第一点,似乎应该是,打开的窗体不一定加载,加载了的窗体一定打开了。打开事件中有 ...

是不是可以这样理解:在Access窗口中加载的窗体称之为加载并打开,而在主窗体中加载的子窗体就只能称之为加载了,而没有打开(因为Froms找不到这些子窗体和孙窗体)。可以把子窗体理解为控件(事实上他们确实也是放在子窗体控件中的)。
我不知道你指的激活是指什么,如果对已经打开了的窗体激活的话,就是让其获得焦点。

6#
 楼主| 发表于 2011-2-9 21:53:05 | 只看该作者
todaynew 发表于 2011-2-9 19:58
是不是可以这样理解:在Access窗口中加载的窗体称之为加载并打开,而在主窗体中加载的子窗体就只能称之为 ...

我所说的激活,如下代码所示:

Private Sub cmdEnter_Click()
    DoCmd.OpenForm "frmmb"
end sub

你说像这种通过按钮出现的frmmb窗体,应该是叫打开还是加载呢。

因为打开和加载的概念没搞懂,所以对于窗体我只能用“出现”或者“激活”来表达窗体可能是打开也可能是加载的意思。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-6-9 06:26 , Processed in 0.427682 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表