• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C# FlowLayoutPanelにて)

C# FlowLayoutPanelでコントロールを追加したときにセンタリングを行う方法

このQ&Aのポイント
  • C# FlowLayoutPanelでコントロールを追加したときに、センタリングを行う方法についてご質問いただきました。
  • 現状では、追加したコントロールは左から順に配置されていますが、センタリングの表示を希望されています。
  • FlowLayoutPanel幅いっぱいに詰めるとセンタリングしても意味がないため、一部のコントロールに対してのみセンタリングを行いたいとのことです。

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

右端のコントロールから FlowLayoutPanelの右端までの 半分を 左端のコントロールのMargin.Leftに加算するといったことで可能なようです 元のフォームの大きさを可変にできるのであれば SizeChangeイベントでの再計算が必要ですが // 右端のコントロールが Button2と仮定 int w = Button2.Loaction.X; // Button2の左上を取得 w += Button2.Width;      // 幅を加算 w += Button2.margin.Right;  // マージンの右側を加算 w = FlowLayoutPanel1.ClientRect.Width - w; // フォローパネルの幅から計算値を減算 w /= 2; // 片側用に2で除算 // Margin.Leftに直接 加算が出来なかったので … Padding pad = Button1.Margin; pad.Left += w; Button1.Margin = pad; といった具合で …

tatapatank
質問者

お礼

早速のご返答、ありがとうございました。 参考にさせていただきたいと思います。 本来なら、既存のプロパティかなんかであっても おかしくない機能だとは思うのですが…。 ありがとうございました。 今後ともよろしくお願いいたします。

関連するQ&A

専門家に質問してみよう