C#でコントロールのドックの順序を調整する方法
C#Winformフォームでは、コントロールのドックの後ろの順序は、コントロールが追加された順序に従って優先されます。3つのボタンボタンA、B、およびCが順番にPanelコンテナに追加され、それらのDockモードがtopに設定されているとすると、Dock後の順序は次のようになります。
---------------------
A
---------------------
B
---------------------
C
----------------------
このとき、4番目のボタンボタンを追加して、BボタンとCボタンの間に配置する必要があります。最も愚かな方法は、コントロールを削除して最初からやり直すことです。簡単で効果的な方法は次のとおりです。
(1)パネルコントロールに4番目のボタンボタンDを追加します。
(2)ソリューションエクスプローラーでフォームのDesigner.csファイルを見つけて開き、次のコードを見つけます。
//
// panel1
//
this.panel1.Controls.Add(this.D);
this.panel1.Controls.Add(this.C);
this.panel1.Controls.Add(this.B);
this.panel1.Controls.Add(this.A);
(3)コードのシーケンスを次のように調整します。
//
// panel1
//
this.panel1.Controls.Add(this.C);
this.panel1.Controls.Add(this.D);
this.panel1.Controls.Add(this.B);
this.panel1.Controls.Add(this.A);
(4)最後に、ボタンDのドッキングモードを上に設定します。
総括する:
コントロールを追加する順序がA、B、Cであるとすると、Designer.csファイルのコードは次のようになります。
this.panel1.Controls.Add(this.C);
this.panel1.Controls.Add(this.B);
this.panel1.Controls.Add(this.A);
追加の順序に従って、最初にA、Dock、次にB、最後にCです。後でA、B、およびCにコントロールを挿入する場合は、Designer.csファイルで追加の順序を変更できます。