Control.SuspendLayout メソッド
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)


ResumeLayout メソッドが呼び出されるまで、コントロールのレイアウト ロジックを中断します。
SuspendLayout メソッドと ResumeLayout メソッドを一緒に使用して、コントロールの複数の属性を調整するときに、複数の Layout イベントが発生しないようにします。たとえば、通常は、SuspendLayout メソッドを呼び出してから、コントロールの Size、Location、Anchor、または Dock の各プロパティを設定し、さらに ResumeLayout メソッドを呼び出して、これらの変更を有効にします。
SuspendLayout 呼び出しがゼロになっていないと、ResumeLayout を正常に呼び出すことができません。
![]() |
---|
複数のコントロールを親コントロールに追加する場合は、追加するコントロールを初期化する前に SuspendLayout メソッドを呼び出すことをお勧めします。コントロールを親コントロールに追加した後は、ResumeLayout メソッドを呼び出します。これにより、多数のコントロールを持つアプリケーションのパフォーマンスが向上します。 |

2 つのボタンをフォームに追加するコード例を次に示します。この例では、SuspendLayout メソッドおよび ResumeLayout メソッドを使用して、ボタンの追加処理をしています。
Private Sub AddButtons() ' Suspend the form layout and add two buttons. Me.SuspendLayout() Dim buttonOK As New Button() buttonOK.Location = New Point(10, 10) buttonOK.Size = New Size(75, 25) buttonOK.Text = "OK" Dim buttonCancel As New Button() buttonCancel.Location = New Point(90, 10) buttonCancel.Size = New Size(75, 25) buttonCancel.Text = "Cancel" Me.Controls.AddRange(New Control() {buttonOK, buttonCancel}) Me.ResumeLayout() End Sub
private void AddButtons() { // Suspend the form layout and add two buttons. this.SuspendLayout(); Button buttonOK = new Button(); buttonOK.Location = new Point(10, 10); buttonOK.Size = new Size(75, 25); buttonOK.Text = "OK"; Button buttonCancel = new Button(); buttonCancel.Location = new Point(90, 10); buttonCancel.Size = new Size(75, 25); buttonCancel.Text = "Cancel"; this.Controls.AddRange(new Control[]{buttonOK, buttonCancel}); this.ResumeLayout(); }
private: void AddButtons() { // Suspend the form layout and add two buttons. this->SuspendLayout(); Button^ buttonOK = gcnew Button; buttonOK->Location = Point(10,10); buttonOK->Size = System::Drawing::Size( 75, 25 ); buttonOK->Text = "OK"; Button^ buttonCancel = gcnew Button; buttonCancel->Location = Point(90,10); buttonCancel->Size = System::Drawing::Size( 75, 25 ); buttonCancel->Text = "Cancel"; array<Control^>^temp5 = {buttonOK,buttonCancel}; this->Controls->AddRange( temp5 ); this->ResumeLayout(); }
private void AddButtons() { // Suspend the form layout and add two buttons. this.SuspendLayout(); Button buttonOK = new Button(); buttonOK.set_Location(new Point(10, 10)); buttonOK.set_Size(new Size(75, 25)); buttonOK.set_Text("OK"); Button buttonCancel = new Button(); buttonCancel.set_Location(new Point(90, 10)); buttonCancel.set_Size(new Size(75, 25)); buttonCancel.set_Text("Cancel"); this.get_Controls().AddRange(new Control[] {buttonOK, buttonCancel}); this.ResumeLayout(); } //AddButtons

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Control クラス
Control メンバ
System.Windows.Forms 名前空間
ResumeLayout
LayoutEngine
Layout
PerformLayout
SuspendLayout
InitLayout
- Control.SuspendLayout メソッドのページへのリンク