我有两列:
C1 和 C2。
C1 有一个 250px 的固定值,C2 应该自动调整自己的大小。C2 包含网格视图。因此,如果大小更改为 1200px,gridview 应该自动占用 950px。
凭借 Grid 控件,在 WPF 中这很容易,但我如何在 Winforms 中做到这一点?
执行以下操作:
Dock
属性设置为Left
(或Right
,由您决定)。Dock
属性设置为Fill
。GridView
里面C1。Dock
属性设置为Fill
。完毕。
作为替代方案,您可以使用TableLayoutPanel
控件(它的工作方式或多或少类似于 WPF 对应项)。看看这篇关于 SO 的帖子以获取更多详细信息。
通常最好让控件使用 Anchor 或 Dock 属性调整自身大小。
如果出于某种原因您喜欢手动执行此操作,那么您将需要处理表单调整大小事件并在其中更改 gridview 的大小和位置。
在设计器中将 C1.Width 设置为 250,将 C1.Dock 设置为 Left。然后将 C2.Dock 设置为 Fill。