DOBON.NET プログラミング道: .NET Framework, VB.NET, C#, Visual Basic, Visual Studio, インストーラ, ...

FlowLayoutPanelに配置されたコントロールの順番を変更する

注意:FlowLayoutPanelコントロールは.NET Framework 2.0以降でのみ使用できます。

FlowLayoutPanelに配置されるコントロールの順番は、FlowLayoutPanel.Controlsコレクションの順番で決まるようです。よって、コントロールの順番を変更するには、変更するコントロールのインデックスを変更すればよいということになります。そのためには、Control.ControlCollection.SetChildIndexメソッドが便利です。

FlowLayoutPanelコントロールを使って、コントロールを縦や横に整列させる」で紹介したサンプル「FlowLayoutPanel2.exe」で、コントロールを先頭に移動する例を紹介しています。以下にその抜粋を示します。currentButtonというコントロールを移動させています。

VB.NET
コードを隠すコードを選択
flowLayoutPanel1.SuspendLayout()

'currentButtonのインデックス値を0にして先頭にする 
flowLayoutPanel1.Controls.SetChildIndex(currentButton, 0)

flowLayoutPanel1.ResumeLayout()
C#
コードを隠すコードを選択
flowLayoutPanel1.SuspendLayout();

//currentButtonのインデックス値を0にして先頭にする
flowLayoutPanel1.Controls.SetChildIndex(currentButton, 0);

flowLayoutPanel1.ResumeLayout();
  • 履歴:
  • 2009/8/30 SetChildIndexメソッドを使うように変更。

注意:この記事では、基本的な事柄の説明が省略されているかもしれません。初心者の方は、特に以下の点にご注意ください。

  • .NET Tipsをご利用いただく際は、注意事項をお守りください。