2009-09-17 32 views
3

我有一个对话框,右边填充了按钮。该对话框使用Windows窗体构建。我有以下链接样机:original dialog (我会包括它,但显然我不能使用图片代码)传播控件来填充空间作为对话框调整大小

我想在右列的按钮来调整自己,以填补剩余对话框调整大小时的垂直空间。对于我来说,按钮的大小是否增加或者按钮是否保持相同的大小,而它们之间的距离是否增加并不重要。我只是想让按钮从顶部到底部。 (我也有这个样机,但我只能包含一个链接)

我已经尝试在FlowLayoutPanel中托管按钮,但它们不会随着对话框的延伸而增加,我只在底部获得空白我用完了按钮。我也尝试过一个TableLayoutPanel并得到了相同的结果,但我可能误用了它。有没有人有任何想法,我可以做到这一点?

由于提前, 杰里米

回答

3

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

+0

感谢您的信息,它的工作完美。但是,一个问题是......我无法让TableLayoutPanel同时将Anchor属性设置为全部四个点并将Dock样式设置为Fill。设置一个总是重置另一个,但这可能是托管TableLayoutPanel的第三方控件工具包的副作用。无论如何,当我设置TableLayoutPanel的Dock风格以及它的子控件时,将控件完全拉伸到表单上。 再次感谢! –

+1

是的,锚和码头是独家。你只能设置一个或另一个。如果你同时需要,使用面板“锚定”,然后“停靠”你的控制面板。 – AMissico

0

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

您可能需要稍微调整一下以适应您的需求,尤其是与窗口中其他内容的关系。