设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[窗体] 如何将某个窗体设为活动窗口(移到最顶端)

[复制链接]
跳转到指定楼层
1#
发表于 2010-7-30 11:41:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Access2000中打开了多个窗体, 请问如何用VBA代码将某个窗口显示到最前端

谢谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2010-7-30 12:17:03 | 只看该作者
激活窗体自然会显示在前端,代码:Forms("窗体A").SetFocus
如果要始终显示在最前,要用API,论坛有例子,搜索一下

3#
 楼主| 发表于 2010-7-30 14:34:51 | 只看该作者
激活窗体自然会显示在前端,代码:Forms("窗体A").SetFocus
如果要始终显示在最前,要用API,论坛有例子, ...
t小宝 发表于 2010-7-30 12:17


谢谢T小宝版主!
我忘了描述具体的环境了: 我是用到系统主切换界面中,当用户输入密码后进入到主切换界面, 在该form的load事件中检测用户是否有未完成的工作(从一个小小的工作备忘处理程序中检测),如果有,则提示是否查看未完成的工作, 如果用户选择"是",则打开工作备忘窗口, 核心代码如下:
me.visible=false
docmd.openform "WorkNote"
forms("WorkNote").Setfocus    '这名按T小宝版主的做法加的
而且在这代码之后并没有其它代码

但奇怪的是WorkNote窗口虽然打开了,但目前的主界面并没有被隐藏, 而且窗口还在WorkNote的上面.
我以为是写在load事件不行(因为load事件还会执行On_Activate、On_Current事件,所以将这些代码移到打开窗口所激发的最后一个事件On_Current事件中,问题还是一样。

但是,假如将这些代码写在主切换窗口的事件中则可以正常执行并获得预期的结果







4#
 楼主| 发表于 2010-7-30 14:48:02 | 只看该作者
我现在是采用On Timer事件来曲线完成目标,间隔设为100,执行三次后(300毫秒)才执行那段代码,这样就没问题

点击这里给我发消息

5#
发表于 2010-7-30 15:37:53 | 只看该作者
象这种情况采用time事件是正确的。
还有一个方法可以参考,在切换窗体的加载事件中用acDialog参数打开窗体:
  DoCmd.OpenForm "WorkNote", , , , , acDialog
只用这句代码就行了。这样切换窗体是隐藏的,关闭WorkNote窗体后才会显示。
6#
 楼主| 发表于 2010-7-30 17:18:09 | 只看该作者
象这种情况采用time事件是正确的。
还有一个方法可以参考,在切换窗体的加载事件中用acDialog参数打开窗体 ...
t小宝 发表于 2010-7-30 15:37



用对话框窗口打开是可以的, 谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-17 12:40 , Processed in 0.075724 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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