用于控制的 Dock 样式
Posted
技术标签:
【中文标题】用于控制的 Dock 样式【英文标题】:Dock Style for control 【发布时间】:2015-09-10 08:16:22 【问题描述】:我有一个用户控件,其中包含顶部的 2 个按钮和下方的网格。让我将其命名为 UC1
这个 UC1 被放置在另一个用户控件 UC2 中。
在 UC2 的某些情况下,我不需要 UC1 上的 2 个按钮,因此我将这 2 个按钮设置为可见 false 并将网格的停靠样式设置为 Fill。
grid.Dock = DockStyle.Fill;
但在某些情况下,我需要 UC1 上的这 2 个按钮,我将 2 个按钮设为可见,然后将网格的停靠样式设置为无
grid.Dock = DockStyle.None;
将DockStyle设置为none后,网格的宽度变小了,不适合UC2的宽度。
如果我不使用 DockStyle.None,则网格和按钮会重叠。
如何解决 UC1 中网格的宽度以适应 UC2 的宽度?
【问题讨论】:
试试grid.Dock = DockStyle.Bottom
我试过 DockStyle.Bottom 并且网格适合 UC2 控件的底部。这会导致按钮和网格之间出现巨大的空白。所以我不能用这个解决方案
【参考方案1】:
您应该首先在 CU1 上放置一个 TableLayoutPanel,将其设置为 Fill。
然后在此表中,为包含两个按钮的面板创建一行,并为包含 CU2 的第二行创建第二行。然后可以将额外面板和 CU2 全部设置为填充。
要显示或隐藏按钮,只需将面板行的行高设置为适当的值或零。
【讨论】:
感谢您的建议,但 UC1 设计不应被触及,因为它已在大多数屏幕中使用。还有其他解决方案吗?以上是关于用于控制的 Dock 样式的主要内容,如果未能解决你的问题,请参考以下文章