【问题标题】:Stretched alignment in TableLayoutPanelTableLayoutPanel 中的拉伸对齐
【发布时间】:2016-07-07 13:33:53
【问题描述】:

我有一个 Panel,其中我有一个 TableLayoutPanel 对象(图片中有蓝色背景)。 TableLayoutPanel 的 Dock 属性设置为“Top”。

我的TableLayoutPanel有1行5列,每一列都有一个固定大小的Panel(图中用红色标记)。

我想在我的 TableLayoutPanel 对象中按以下方式水平对齐这些红色面板(在剩余空间中拉伸但保持它们的大小):右侧的剩余水平空间(不是被红色面板占据)分成 6 部分,并在每对面板之间计算出这个空间。

基本上我想实现以下设计:

我相信 TableLayoutPanel 中有一个内置设置(可能在 TableLayoutPanel.ColumnsStylesTableLayoutPanel.LayoutSettings 中),但我就是找不到。

【问题讨论】:

    标签: c# winforms tablelayoutpanel


    【解决方案1】:

    对于每个红色面板,将 Anchor 属性设置为 None。这将导致红色面板在其单元格内居中。只要您的列设置为 20% 的宽度,它就应该按照您描述的方式工作。我做到了,得到了下面的结果。

    【讨论】:

    • 是的,这很好用。 :-) 如果有 5 个红色面板,我们必须将列的宽度设置为 20%,这有点难看。因此,当添加另一列时,我们必须将所有列的宽度设置为 17%,这使得该解决方案有点不可靠。如果只添加我们想要的列并以这种方式排列(不更改任何其他内容),这将是一个很好的解决方案。但至少这解决了我目前的目标。感谢您的宝贵时间!
    猜你喜欢
    • 2010-12-22
    • 1970-01-01
    • 2023-03-16
    • 2021-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-29
    • 2011-04-10
    相关资源
    最近更新 更多