Winforms控件结合了SplitContainer和TableLayoutPanel的优点
本文关键字:TableLayoutPanel 控件 结合了 SplitContainer Winforms | 更新日期: 2023-09-27 18:00:27
使用SplitContainer,用户可以调整控件两侧的大小。但它只限于两个部分。
使用TableLayoutPanel,您可以拥有无限的行和列。不幸的是,用户无法拖动这些部分中的任何一个。
我怎样才能两全其美;SplitContainer中中间条的"可拖动性"以及TableLayoutPanel允许的2x1个以上部分的能力?
如果Winforms不允许,也许还有商业成分?我知道我在一些非。NET程序。
将另一个SplitContainer嵌入到第一个的一半中。
请记住,您既可以水平拆分,也可以垂直拆分。我相信很多整洁的布局可以通过这种方式生成。
构建在@Brody的解决方案之上:
在嵌入另一个SplitContainer之后,@Wolf5提到的唯一缺点是它们不会自动调整大小,因此很快就会丢失表格视图。解决方案可以是为每个适用的SplitContainer:设置一个SplitterMoved
事件处理程序
private void mySplitContainer_SplitterMoved(object sender, SplitterEventArgs e) {
mOtherySplitContainer.SplitterDistance = e.SplitX;
}
如果SplitContainer是水平的,请使用e.SplitX
,如果它是垂直的,则使用e.SplitY
。
建议重复另一个问题:c#中可调整大小的表布局面板