如何自动调整 Window 的大小以适合其内容

How to automatically size a Window to fit its content

我正在使用 C# 和 Infragistics 15。 我有一个带有 UltraGrid 的 WinForm,我想根据内容自动调整 window 的大小。 我查找了这个并找到了 SizeToContent 属性。

但是我用 window 找不到这个 属性。

SizeToContent

FrmCVault 是我 window 的名字。

这是我一开始打开的windows:

这是我的 window 当我向下滚动时,我想删除底部的空白,以使其适合内容:

您可以将 FormAutoSize 属性 设置为真并将 AutoSizeMode 设置为 GrowAndShrink

设计模式:

运行时间:

您也可以将此解决方案与 FlowLayoutPanel 混合并将其 AutoSize 设置为 true 并将 AutoSizeMode 设置为 GrownadShrink

如果您需要更紧凑的设计,您可能还需要设置控件 PaddingMargin

编辑

根据您的编辑,答案现在有点不同并且与 UltraGrid 控件有关。

如果您的网格不支持自动调整大小,您可以使用上面描述的答案,同时手动设置网格的高度 yourGrid.Height = ((NumebrOfRows+1) * HeightOfRow) 并在需要时添加额外的空格。

您需要将网格的 ScrollBounds 设置为 ScrollToFill。您可以使用这样的代码:

this.ultraGrid1.DisplayLayout.ScrollBounds = ScrollBounds.ScrollToFill;