Control.SuspendLayout メソッド

定義

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

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

次のコード例では、フォームに 2 つのボタンを追加します。 この例では、and ResumeLayout メソッドを使用してボタンの追加をSuspendLayoutトランザクションします。

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 中断されます。

メソッド SuspendLayoutResumeLayout 、コントロールの複数の属性を調整しながら、複数 Layout のイベントを抑制するために並行して使用されます。 たとえば、通常はメソッドを SuspendLayout 呼び出し、コントロールの SizeLocation、、 Anchorまたは Dock プロパティを設定してから、メソッドを ResumeLayout 呼び出して変更を有効にします。

正常に呼び出される保留中のResumeLayout呼び出しSuspendLayoutは必要ありません。

注意

親コントロールに複数のコントロールを追加する場合は、追加するコントロールを SuspendLayout 初期化する前にメソッドを呼び出することをお勧めします。 コントロールを親コントロールに追加した後、メソッドを ResumeLayout 呼び出します。 これにより、多くのコントロールを持つアプリケーションのパフォーマンスが向上します。

適用対象

こちらもご覧ください