Control.SuspendLayout Control.SuspendLayout Control.SuspendLayout Control.SuspendLayout Method

定義

コントロールのレイアウト ロジックを一時的に中断します。Temporarily suspends the layout logic for the control.

public:
 void SuspendLayout();
public void SuspendLayout ();
member this.SuspendLayout : unit -> unit
Public Sub SuspendLayout ()

次のコード例では、フォームに2つのボタンを追加します。The following code example adds two buttons to a form. この例では、メソッドSuspendLayoutResumeLayoutメソッドを使用して、ボタンの追加をトランザクションします。The example transactions the addition of the buttons by using the SuspendLayout and ResumeLayout methods.

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.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 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

注釈

ResumeLayoutメソッドが呼び出されるまで、コントロールのレイアウトロジックは中断されます。The layout logic of the control is suspended until the ResumeLayout method is called.

メソッドSuspendLayoutResumeLayoutメソッドは、コントロールの複数の属性Layoutを調整するときに、複数のイベントを抑制するために一緒に使用されます。The SuspendLayout and ResumeLayout methods are used in tandem to suppress multiple Layout events while you adjust multiple attributes of the control. SuspendLayoutたとえば、通常はメソッドを呼び出した後、コントロールのLocation Anchor Size、、 ResumeLayout 、またはDockの各プロパティを設定してから、メソッドを呼び出して変更を有効にします。For example, you would typically call the SuspendLayout method, then set the Size, Location, Anchor, or Dock properties of the control, and then call the ResumeLayout method to enable the changes to take effect.

が正常に呼び出されるにはSuspendLayoutResumeLayoutに対する保留中の呼び出しがないことが必要です。There must be no pending calls to SuspendLayout for ResumeLayout to be successfully called.

注意

親コントロールに複数のコントロールを追加する場合は、追加するコントロールをSuspendLayout初期化する前にメソッドを呼び出すことをお勧めします。When adding several controls to a parent control, it is recommended that you call the SuspendLayout method before initializing the controls to be added. コントロールを親コントロールに追加した後、 ResumeLayoutメソッドを呼び出します。After adding the controls to the parent control, call the ResumeLayout method. これにより、多くのコントロールでアプリケーションのパフォーマンスが向上します。This will increase the performance of applications with many controls.

適用対象

こちらもご覧ください