嵌套的 SplitContainers 会出错 SplitterWidth



所以我有 3 个拆分容器,每个容器有 2 个面板。

SplitContainer1 是停靠在窗体(父 (中的主容器。

SplitContainer1.Panel1包含停靠SplitContainer2

SplitContainer1.Panel2包含停靠SpliContainer3

目前为止,一切都好。

SplitContainer1SplitterWidth为 3。 SplitContainer2SplitContainer3SplitterWidth为 6。

在设计器中,您可以看到它们之间的SplitterWidth差异,但是当我构建解决方案时,无论我做什么,SplitContainer2SplitContainer3SplitterWidth都会重置回 4。 我已经更改了表单的"初始化组件"中的代码,但没有效果。

我让它工作的唯一方法是在表单的Load Event,重新指定我觉得完全愚蠢的SplitterWidths。 为什么SplitterWidths不会保留在设计器中指定的值?

如果有人能对此有所了解,那将是什么了不起的!!

谢谢你的时间,

彼得

只是为了不让这个问题永远得不到回答——

这是一个古老的错误,现在已经在Visual Basic中存在许多版本,并且从未得到解决(也不太可能得到解决(。

正如Hans Passant所提到的,该问题是由于SplitContainerISupportInitialize实施。

由于这是一个错误,因此没有任何逻辑意义的解决问题的明确方法。

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

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

相关内容

  • 没有找到相关文章

最新更新