导航
  • 主页
  • VBS
  • .NET技术
  • VBA
  • VB网络编程
  • VB多媒体
  • VB数据库
  • VB控件
  • VB COM/DCOM
  • VB基础类
  • VB API
  • 问答

当一个窗体 由 hide() 变为 show() 时 触发什么事件?

lwl0606 2008-08-05 11:34:56
VB.NET 2005
一个父窗体里面有几个子窗体,当一个子窗体 由 hide()变为 show () 的时候 ,会触发子窗体的什么事件?
我试过了 不是 load() 也不是 GotFoucs()
...全文
151 点赞 收藏 9
写回复
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
破咖啡罐子 2008-08-05
VisibleChanged 事件:


Private Sub Form2_VisibleChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.VisibleChanged
If Me.Visible = True Then
MsgBox("True")
Else
MsgBox("false")
End If
End Sub
回复
江城老温 2008-08-05
OnPaint事件里处理.

有个问题就是很多时候Onpaint事件都会被触发

解决方法是,你需要在Show()的同时,给个标记,在Onpaint事件里判断标记,然后决定是否处理事务.
回复
jx218 2008-08-05
加一个时间控件啊..只要一改变,时间控件也就触发..执行你要的功能啊
回复
wdgphc 2008-08-05
Activate () 吧
回复
wdgphc 2008-08-05
Resize() ?
回复
lwl0606 2008-08-05
找到问题的所在了
当窗体 由show变为hide,或者hide变为show 都会触发 VisibleChanged
当由 show 改为 show 是不会触发的
但是 form.visible =true 改为 form.visible =true 是 会触发 VisibleChanged 的

开始的时候把 父窗体控件覆盖子窗体 当作子窗体隐藏,一直认为show没触发VisibleChanged
回复
mzhao 2008-08-05
Public Sub Show()
Me.Visible = True
End Sub
Public Sub Hide()
Me.Visible = False
End Sub
回复
破咖啡罐子 2008-08-05
[Quote=引用 6 楼 lwl0606 的回复:]
Resize() Activate () 都不行,事件空间比较麻烦哦, 我用的是 hide 不是visible属性
paint好像可以,不过太敏感了
[/Quote]

得……
你肯定是没实验我的代码
show和hide两个方法也会触发 VisibleChanged 事件的,实践一下看看吧。
回复
lwl0606 2008-08-05
Resize() Activate () 都不行,事件空间比较麻烦哦, 我用的是 hide 不是visible属性
paint好像可以,不过太敏感了
回复
发动态
发帖子
VB
创建于2007-09-28

1.5w+

社区成员

VB技术相关讨论,主要为经典vb,即VB6.0
申请成为版主
社区公告
暂无公告