2011-02-17 11 views
3

flowLayoutPanelを使用して、相対的な位置コントロールを使用しています。 flowLayoutPanel内のコントロールの位置を変更したいと思います。 私は場所を言うとき、私はそのような制御2か何かの前にCONTROL1を意味いけない - 私は意味、私は2つのコントロールを得た場合、labelcomboBoxを言うことができますことを - comboBoxの高さは21で、labelの高さが13であるとflowLayoutPanel高さも21です。私はflowLayoutPanel - ((21-13)/ 2)の垂直中央にlabelを上から挿入したいと思います。私は一般的な解決策が欲しい、垂直の中間に特有のものを必要としません。FlowLayoutPanel内でコントロールの位置を変更する

答えて

3

また(containerHeight-labelHeight)私はtableLayoutPanel内のコントロールの位置を設定することができますどのように正確に/ 2

+0

魅力のように働いて、私はmarginプロパティを忘れていました。 – Ron

+0

ダ・マン?あなたはダ・マン!これはうまくいった。これを扱っている他の人にとっては、マージンを変数にコピーしてから変更して戻す必要があります。 –

1

フローレイアウトは役立たず、すべてのコントロールをリストに配置して、パネルに合わせて位置を調整します。フローレイアウト内のテーブルにコントロールを配置するか、最大限の制御のためにテーブルを使用するだけで、サブグループを作成できます。

+0

にラベルの上マージンを設定することができますか? – Ron

+0

私はTableLayoutPanelを使う考えが好きです。列や行の寸法を設定するだけで、コントロールの位置や寸法を設定することもできます。フルGUIの場合は、すべてをFlowLayoutPanelに配置するよりももう少し計画が必要ですが、その報酬は価値があると思います。 –

+0

右 - 各セル内のコントロールを常にドッキングすることができます。 – Marco

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); 
関連する問題