使用SplitContainer,用户可以调整控件的两边。但它仅限于两个部分。
使用TableLayoutPanel,您可以拥有无限的行和列。不幸的是,用户无法拖动任何这些部分。
我怎样才能拥有两全其美的优势; SplitContainer中间栏的'draggable-ness'和TableLayoutPanel允许的超过2x1段的能力?
如果Winforms不允许,那么可能还有一个商业组件?我知道我在一些非.NET程序中看到过这种高级控件。
答案 0 :(得分:3)
将另一个SplitContainer嵌入第一个的一半。
请记住,您可以分割水平和垂直。我确信可以通过这种方式生成很多简洁的布局。
答案 1 :(得分:1)
建立在@Brody's solution之上:
嵌入另一个SplitContainer之后,@ Wolf5提到的唯一缺点是它们不会自动调整大小,因此您很快就会丢失表格视图。解决方案可以是为每个适用的SplitContainer设置SplitterMoved
事件处理程序:
private void mySplitContainer_SplitterMoved(object sender, SplitterEventArgs e) {
mOtherySplitContainer.SplitterDistance = e.SplitX;
}
如果您的SplitContainer是水平使用e.SplitX
,如果它垂直使用e.SplitY
。
建议重复此其他问题:Resizable table layout panel in c#