Control.Layout イベント


コントロールの子コントロールの位置を変更する必要があるときに発生します。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. Layout イベントは、メソッドとメソッドを使用して抑制でき SuspendLayout ResumeLayout ます。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.