Control.SuspendLayout Метод

Определение

Временно приостанавливает логику макета для элемента управления.Temporarily suspends the layout logic for the control.

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

Примеры

В следующем примере кода две кнопки добавляются в форму.The following code example adds two buttons to a form. В примере транзакции Добавление кнопок осуществляется с помощью методов SuspendLayout и ResumeLayout.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.

Методы SuspendLayout и ResumeLayout используются совместно для подавления нескольких событий Layout при изменении нескольких атрибутов элемента управления.The SuspendLayout and ResumeLayout methods are used in tandem to suppress multiple Layout events while you adjust multiple attributes of the control. Например, обычно вызывается метод SuspendLayout, затем устанавливаются свойства Size, Location, Anchorили 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.

Для успешного вызова ResumeLayout не должно быть отложенных вызовов SuspendLayout.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.

Применяется к

Дополнительно