Control.Layout イベント

定義

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

public:
 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 

次のコード例では、Layout イベントの画面に Form を中心にしています。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.

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 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.

適用対象

こちらもご覧ください