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 ()

Примеры

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

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

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

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