所以我有3个拆分容器,每个容器有2个面板。SplitContainer1
是停靠在Form(Parent)中的主要容器。SplitContainer1.Panel1
包含已停靠的SplitContainer2
。SplitContainer1.Panel2
包含已停靠的SpliContainer3
。
到目前为止,一切都很好。SplitContainer1
的SplitterWidth
为3。SplitContainer2
和SplitContainer3
的SplitterWidth
为6。
在Designer中,您可以看到它们之间的SplitterWidth
区别,但是当我构建解决方案时,无论我做什么,SplitterWidth
和SplitContainer2
的SplitContainer3
都将重置为4。我已经更改了表单“ InitializeComponent”中的代码,但没有任何效果。
我进行此工作的唯一方法是在表单的Load Event
中,重新指定我完全呆板的SplitterWidths
。为什么SplitterWidths
不能保持在设计器中指定的值?
如果有人可以阐明这一点,那真是太棒了!!
谢谢你的时间,
彼得
最佳答案
只是为了让您永生不衰,
这是Visual Basic现在已有许多版本的旧错误,并且从未得到解决(也不可能得到解决)。
正如Hans Passant所提到的,该问题是由于ISupportInitialize
的SplitContainer
实现引起的。
由于这是一个错误,因此没有确定的方法可以解决任何逻辑上的问题。
我在模拟程序中测试过的一种方法是@xfx所说的-以编程方式添加和操作控件,而不是使用工具箱。
另一种方法是以编程方式重新加载SplitterWidths
,无论是最有可能在Form_Load
上还是在代码中可能需要的其他任何位置上。