加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

vb.net – 嵌套的SplitContainers会破坏SplitterWidth

发布时间:2020-12-17 00:19:10 所属栏目:大数据 来源:网络整理
导读:所以我有3个分体式容器,每个容器有2个面板. SplitContainer1是停靠在Form(Parent)中的主要容器. SplitContainer1.Panel1包含停靠的SplitContainer2. SplitContainer1.Panel2包含停靠的SpliContainer3. 到现在为止还挺好. SplitContainer1的SplitterWidth为3.
所以我有3个分体式容器,每个容器有2个面板.

SplitContainer1是停靠在Form(Parent)中的主要容器.

SplitContainer1.Panel1包含停靠的SplitContainer2.

SplitContainer1.Panel2包含停靠的SpliContainer3.

到现在为止还挺好.

SplitContainer1的SplitterWidth为3.
SplitContainer2和SplitContainer3的SplitterWidth为6.

在Designer中,您可以看到它们之间的SplitterWidth差异,但是当我构建解决方案时,无论我做什么,SplitContainer2和SplitContainer3的SplitterWidth都会重置为4.我已经更改了表单的“InitializeComponent”中的代码而没有任何效果.

我得到这个工作的唯一方法是在窗体的Load Event中,重新指定SplitterWidths,我发现它完全是哑巴.为什么SplitterWidth不会保持在Designer中指定的值?

如果有人能够对此有所了解,那将是多么棒的!!

谢谢你的时间,

彼得

这样就永远不会得不到答案 –

这是一个旧的错误,现在已经在许多版本的Visual Basic中使用,并且永远不会解决(也不可能解决).

正如Hans Passant所提到的,问题是由于SplitContainer的ISupportInitialize实现.

由于它是一个错误,因此没有明确的方法来解决任何符合逻辑的问题.

我在模拟程序中测试过的一种方法是@xfx说 – 以编程方式添加和操作控件,而不是使用工具箱.

另一种方法是以编程方式重新加载SplitterWidth,无论是最可能的Form_Load,还是代码中可能需要的任何其他位置.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读