Winforms 扩展控件以在对话框调整大小时填充空间

Winforms 扩展控件以在对话框调整大小时填充空间,winforms,Winforms,我有一个对话框,右边有一列按钮。该对话框是使用Windows窗体生成的。我在以下链接上有一个模型: (我本应该包括它,但显然我不允许使用图像标签) 我希望在对话框调整大小时,右栏中的按钮可以自行调整大小,以填充剩余的垂直空间。对于我来说,按钮是否只是尺寸增加,或者按钮之间的间隙增大时是否保持相同的尺寸,这并不特别重要。我只是想让按钮从上到下。(我也有一个模型,但显然我只能包括一个链接) 我曾尝试在FlowLayoutPanel中托管按钮,但它们不会随着对话框的扩展而增加,我只会在按钮用完后在底部

我有一个对话框,右边有一列按钮。该对话框是使用Windows窗体生成的。我在以下链接上有一个模型: (我本应该包括它,但显然我不允许使用图像标签)

我希望在对话框调整大小时,右栏中的按钮可以自行调整大小,以填充剩余的垂直空间。对于我来说,按钮是否只是尺寸增加,或者按钮之间的间隙增大时是否保持相同的尺寸,这并不特别重要。我只是想让按钮从上到下。(我也有一个模型,但显然我只能包括一个链接)

我曾尝试在FlowLayoutPanel中托管按钮,但它们不会随着对话框的扩展而增加,我只会在按钮用完后在底部得到空白。我还尝试了一个TableLayoutPanel,得到了相同的结果,但我可能误用了它。有人知道我怎样才能做到这一点吗

提前感谢,,
杰里米

让你开始。使用TableLayoutPanel,将其定位属性设置为“上”、“下”、“左”和“右”。根据需要将行和列设置为百分比。我建议每个控件都有自己的单元格。请注意,“单元”中的每个控件都可以根据需要设置其Dock和Anchor属性。

您可以使用TableLayoutPanel来实现这一点。为按钮创建一列,每个按钮在列中都有自己的行/单元格。将每行的高度设置为偶数百分比(如果有10个按钮,则每行为10%),并将TableLayoutPanel停靠在屏幕右侧。然后,将按钮放入它们的行中,并将它们设置为完全停靠。然后,当对话框展开时,TableLayoutPanel将展开以填充整个屏幕右侧,每一行将按比例调整,每个按钮将展开以适应新的行大小


您可能需要对此进行一些调整,以满足您的需要,特别是它与窗口中其他内容的关系。

感谢您提供的信息,它工作得非常好。但是,有一个问题,…我无法让TableLayoutPanel同时将锚点属性设置为所有四个点,并将停靠样式设置为填充。设置一个总是重置另一个,但这可能是托管TableLayoutPanel的第三方控制工具包的副作用。不管怎样,当我设置TableLayoutPanel的Dock样式及其子控件来填充控件时,这些控件在表单中完全伸展。再次感谢!是的,锚和码头是独家的。只能设置其中一个。如果两者都需要,请使用面板“锚定”,然后在面板中“停靠”控件。