Control.Layout Control.Layout Control.Layout Control.Layout Event


コントロールの子コントロールの位置を変更する必要があるときに発生します。Occurs when a control should reposition its child controls.

 event System::Windows::Forms::LayoutEventHandler ^ Layout;
public event System.Windows.Forms.LayoutEventHandler Layout;
member this.Layout : System.Windows.Forms.LayoutEventHandler 
Public Custom Event Layout As LayoutEventHandler 

次のコード例のセンター、Formの画面で、Layoutイベント。The following code example centers a Form on the screen in the Layout event. これにより、ユーザーがサイズを変更中央フォームが保持されます。This will keep the form centered as the user resizes it. この例では、作成済みである必要があります、Formコントロール。This example requires that you have created a Form control.

   void MyForm_Layout( Object^ /*sender*/, System::Windows::Forms::LayoutEventArgs^ /*e*/ )
      // Center the Form on the user's screen everytime it requires a Layout.
      this->SetBounds( (Screen::GetBounds( this ).Width / 2) - (this->Width / 2), (Screen::GetBounds( this ).Height / 2) - (this->Height / 2), this->Width, this->Height, BoundsSpecified::Location );
private void MyForm_Layout(object sender, System.Windows.Forms.LayoutEventArgs e)
   // Center the Form on the user's screen everytime it requires a Layout.
   this.SetBounds((Screen.GetBounds(this).Width/2) - (this.Width/2),
       (Screen.GetBounds(this).Height/2) - (this.Height/2),
 this.Width, this.Height, BoundsSpecified.Location);	

Private Sub MyForm_Layout(ByVal sender As Object, _
    ByVal e As System.Windows.Forms.LayoutEventArgs) Handles MyBase.Layout

    ' Center the Form on the user's screen everytime it requires a Layout.
    Me.SetBounds((System.Windows.Forms.Screen.GetBounds(Me).Width / 2) - (Me.Width / 2), _
        (System.Windows.Forms.Screen.GetBounds(Me).Height / 2) - (Me.Height / 2), _
        Me.Width, Me.Height, System.Windows.Forms.BoundsSpecified.Location)
End Sub


Layoutイベントは、子コントロールが追加または削除、コントロールの変更、およびその他の変更が発生すると、境界は、コントロールのレイアウトに影響を受けた場合に発生します。The Layout event occurs when child controls are added or removed, when the bounds of the control changes, and when other changes occur that can affect the layout of the control. 使用して、レイアウト イベントを抑制することができます、SuspendLayoutResumeLayoutメソッド。The layout event can be suppressed using the SuspendLayout and ResumeLayout methods. レイアウトを中断するには、それぞれの変更、レイアウトを実行することがなくコントロールで複数のアクションを実行することができます。Suspending layout enables you to perform multiple actions on a control without having to perform a layout for each change. たとえば、サイズを変更して、コントロールを移動する場合は、各操作が発生するLayoutイベント。For example, if you resize and move a control, each operation would raise a Layout event.

イベントの処理の詳細については、「処理とイベントの発生」を参照してください。For more information about handling events, see Handling and Raising Events.