WinForm Show事件

AlexSweet 2012-02-28 11:00:20
程序里的Form 要多次Hide Show
请问各位哪一个事件在每次Show()时触发?
Shown()事件只有在第一次显示时触发
谢谢
...全文
587 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
gomoku 2012-02-28
  • 打赏
  • 举报
回复
this.VisibleChanged += ...
AlexSweet 2012-02-28
  • 打赏
  • 举报
回复
是1楼+2楼的方法吧。
在Active()中加一个BOOL判断,Active在Show状态下会一直被触发,相当于一个Timer,只是触发顺序不同,经测试估计Active触发优先级很低,在我的程序中需要1-2秒才触发一次。
大概懂了1+2楼的方法了。求解更好的方法,比如某个神秘事件,每次执行Form.Show()的时候都会触发!
AlexSweet 2012-02-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 abbey 的回复:]

大概记得还有一个Active事件
[/Quote]
Active()在Show状态下会一直被触发
AlexSweet 2012-02-28
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 bdmh 的回复:]

加个标记,初始为false,第一次为true,以后如果判断为true,就return
[/Quote]
不好意思没太懂,或许是我表达有问题,现重述一下:
1.我的程序中某一Form在程序执行过程中会多次执行Show()与Hide()方法
2.我想在每次Show()的时候去做一些事情。
3.Shown()事件只有第一次Show()时会触发,请教有无其他方法解决这个问题。
您上边的意思是加timer来定时判断么?
bdmh 2012-02-28
  • 打赏
  • 举报
回复
加个标记,初始为false,第一次为true,以后如果判断为true,就return
老毕 2012-02-28
  • 打赏
  • 举报
回复
大概记得还有一个Active事件
AlexSweet 2012-02-28
  • 打赏
  • 举报
回复
已解决,结贴了。
VisibleChanged()+BOOL变量控制,感谢7、3、2、8等各位朋友~
youzelin 2012-02-28
  • 打赏
  • 举报
回复
你可以试一下,便利一下form 里面的实现,把你觉得可能的事件都注册一个方法,然后每个事件触发的话就s += "...",然后把字符串show出来,看看触发了哪些

111,097

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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