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メソッドを設定し、 SizeLocationAnchor、またはDock制御、および次のプロパティ、ResumeLayoutメソッドを有効にする変更を有効にします。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.

適用対象

こちらもご覧ください