在第一次控制后动态添加第二个控件

时间:2012-10-10 13:11:45

标签: c# winforms dynamic-controls

在c#中,我在flowlayoutpanel上有一个动态控件。我希望在点击按钮的第一个控件之后准确放置另一个控件。

1 个答案:

答案 0 :(得分:1)

我这样做的方法是将控件的高度存储在一个全局变量中,然后每次添加一个控件时都会向其添加另一个高度。这为您提供了每次向下移动位置所需的金额,以使控件显示在下方。

然后在按钮单击事件中,我将创建一个新控件并使用New drawing.point设置位置,并将X参数设置为控件的当前X位置,然后将Y参数设置为全局变量。 / p>

int glHeightAccumalator = Control.Height; ' I would set this on the form load when you already have your first control in the Flow Layout Panel.

''Button Click Event

Control ctrl = new Control();
ctrl.Location = Drawing.Point(ctrl.Location.X, glHeightAccumalator);
FlowLayoutPanel.Controls.Add(ctrl);
glHeightAccumalator += ctrl.Height;