我使用flowLayoutPanel
来进行相对位置控制。
我想在flowLayoutPanel
内更改控件的位置。
当我说位置时,我不是指在control2之前的control1或类似的东西 - 我的意思是如果我有2个控件,让我们说label
和comboBox
- comboBox
的高度为21 ,label
的高度为13,flowLayoutPanel
的高度也为21。我想将label
放在flowLayoutPanel
- ((21-13)/ 2)的垂直中间位置。我不想要特定于垂直中间的东西,我想要一般的解决方案。
答案 0 :(得分:4)
您还可以将标签的上边距设置为(containerHeight-labelHeight)/ 2
答案 1 :(得分:2)
流程布局无济于事:它只是将所有控件排列在一个列表中,调整它们的位置以适应面板。您可以通过将控件放在流布局中的表中来创建子组,或者只使用表来进行最大程度的控制。
答案 2 :(得分:0)
int cIndex = this.FlowLayoutPanel1.Controls.GetChildIndex(Button1);
int bIndex = this.FlowLayoutPanel1.Controls.GetChildIndex(Button1);
this.FlowLayoutPanel1.Controls.SetChildIndex(Button1, bIndex);
this.FlowLayoutPanel1.Controls.SetChildIndex(Button2, cIndex);