Foxtable(狐表)用户栏目专家坐堂 → [求助]SplitContainer收缩时panel1大小会变化


  共有2304人关注过本帖树形打印复制链接

主题:[求助]SplitContainer收缩时panel1大小会变化

帅哥哟,离线,有人找我吗?
chnfo
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2243 积分:18477 威望:0 精华:0 注册:2011/11/26 20:21:00
[求助]SplitContainer收缩时panel1大小会变化  发帖心情 Post By:2019/4/25 14:49:00 [只看该作者]

本意是切换节点时,SplitContainer 中的panel2收缩和展开。

但在展开和收缩过程中,发现panel1的宽度有一些变化,会感觉屏幕在闪动。哪里的代码有问题呢

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:伸缩窗口.zip


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110784 积分:563852 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/4/25 15:03:00 [只看该作者]

Dim sc As WinForm.SplitContainer = e.Form.Controls("SplitContainer1")
e.Form.StopRedraw
Select Case e.Node.Name
    Case "点A展开","点C展开"
        e.Form.panel.parent.parent.parent.width = 350
        sc.Panel2.Collapsed = False
    Case "点B收缩"
        e.Form.panel.parent.parent.parent.width = 150
        sc.Panel2.Collapsed = True
    Case "点C展开"
End Select
e.Form.ResumeRedraw

 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2243 积分:18477 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2019/4/25 15:17:00 [只看该作者]

仅仅只是添加了StopRedraw和ResumeRedraw,并不能解决问题。
可以看到在三个树节点间切换时,导航控件的宽度有比较小的变化。
有什么办法能保持导航控件的宽度不变呢

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110784 积分:563852 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/4/25 15:21:00 [只看该作者]

不仅仅只是添加了StopRedraw和ResumeRedraw,仔细看代码

 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2243 积分:18477 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2019/4/25 15:51:00 [只看该作者]

我看了,一个是先设窗口宽度,然后再伸缩和展开;二是加了暂停界面绘制的代码
实际在点节点的时候,确实navibar的宽度在变化。
而且里面的树控件的宽度也有变化。

我就是想让树控件的宽度让用户感觉没有变化

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110784 积分:563852 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/4/25 15:56:00 [只看该作者]

没有办法

 回到顶部