Control.SuspendLayout メソッド

コントロールのレイアウト ロジックを一時的に中断します。

Public Sub SuspendLayout()
[C#]
public void SuspendLayout();
[C++]
public: void SuspendLayout();
[JScript]
public function SuspendLayout();

解説

ResumeLayout メソッドが呼び出されるまで、コントロールのレイアウト ロジックを中断します。

SuspendLayout メソッドと ResumeLayout メソッドを一緒に使用して、コントロールの複数の属性を調整するときに、複数の Layout イベントが発生しないようにします。たとえば、通常は、 SuspendLayout メソッドを呼び出してから、コントロールの SizeLocationAnchor 、または Dock の各プロパティを設定し、さらに ResumeLayout メソッドを呼び出して、これらの変更を有効にします。

使用例

[Visual Basic, C#, C++] 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

[C#] 
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();
}

[C++] 
private:
    void AddButtons() {
        // Suspend the form layout and add two buttons.
        this->SuspendLayout();
        Button* buttonOK = new Button();
        buttonOK->Location =  Point(10, 10);
        buttonOK->Size =  System::Drawing::Size(75, 25);
        buttonOK->Text = S"OK";

        Button* buttonCancel = new Button();
        buttonCancel->Location =  Point(90, 10);
        buttonCancel->Size =  System::Drawing::Size(75, 25);
        buttonCancel->Text = S"Cancel";
        Control* temp5 [] = {buttonOK, buttonCancel};
        this->Controls->AddRange(temp5);
        this->ResumeLayout();
    }

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

Control クラス | Control メンバ | System.Windows.Forms 名前空間 | ResumeLayout | Layout