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

lwl0606 2008-08-05 11:34:56
VB.NET 2005
一个父窗体里面有几个子窗体,当一个子窗体 由 hide()变为 show () 的时候 ,会触发子窗体的什么事件?
我试过了 不是 load() 也不是 GotFoucs()
...全文
465 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
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好像可以,不过太敏感了

16,721

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧