标题:关于继承窗体ExpandAll()方法失效的问题
只看楼主
wypdragon
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:29
专家分:110
注 册:2011-11-19
结帖率:100%
已结贴  问题点数:10 回复次数:7 
关于继承窗体ExpandAll()方法失效的问题
今天用VS2008碰到个问题,请教大家,继承窗体中Load事件中treeview 的 ExpandAll()方法没效果,新建窗体后treeview还是收缩状态。如果窗体不继承,改回:  frmPermSet : Form ,其它代码不动,ExpandAll()方法又有效果了。
搜索更多相关主题的帖子: 新建 继承 
2012-01-03 16:24
xydddaxia
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:33
帖 子:466
专家分:2307
注 册:2009-3-20
得分:5 
构造函数完之后再或者load之后ExpandAll()
构造函数完之前整个窗体处于SuspendLayout()
关于继承的问题,是由于继承后构造函数引起的,构造函数的执行顺序研究一下吧,构造函数里面有多次SuspendLayout(),ResumeLayout()

[ 本帖最后由 xydddaxia 于 2012-1-4 09:16 编辑 ]

站在春哥的肩膀上
2012-01-04 09:01
wypdragon
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:29
专家分:110
注 册:2011-11-19
得分:0 
谢谢楼上的回答,但注释了父窗体的this.SuspendLayout();和 this.ResumeLayout(false);还是不行。
奇怪的是将TreeView控件放入GroupBox里面,将GroupBox的Visible设置为False,程序进去后,通过按钮将Visible改为True,发现TreeView已经是展开了,就是说ExpandAll()已经生效了,但没显示出效果。继续研究下...
2012-01-05 08:58
xydddaxia
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:33
帖 子:466
专家分:2307
注 册:2009-3-20
得分:5 
是不是哪里代码错了,刚写了例子证明继承窗体ExpandAll()没有问题
ExpandAllTest.rar (38.74 KB)

站在春哥的肩膀上
2012-01-05 09:20
wypdragon
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:29
专家分:110
注 册:2011-11-19
得分:0 
确实是可以,看来方向是找错了,奇怪的是不继承就没问题,我再检查检查
2012-01-05 09:48
wypdragon
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:29
专家分:110
注 册:2011-11-19
得分:0 
问题语句已经找到了,但是不很明白为什么,见附件,(利用4楼的例子改的)
ExpandAllTest.rar (49.07 KB)
感谢2楼朋友的热心帮忙!

[ 本帖最后由 wypdragon 于 2012-1-5 16:41 编辑 ]
2012-01-05 13:45
xydddaxia
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:33
帖 子:466
专家分:2307
注 册:2009-3-20
得分:0 
不晓得楼主把新建的窗口隐藏掉有什么用意

站在春哥的肩膀上
2012-01-06 10:10
wypdragon
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:29
专家分:110
注 册:2011-11-19
得分:0 
这个例子有部分东西没有写上去,在我那软件中,没有将新建的隐藏啊,是新建的显示,其他的隐藏。并且用在打开多个窗体,通过TabControl控件切换窗体时,除了当前窗体,将其他隐藏。
2012-01-06 10:34



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-359090-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.110096 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved