Control.Resize イベント


コントロールのサイズが変更されると発生します。Occurs when the control is resized.

 event EventHandler ^ Resize;
public event EventHandler Resize;
member this.Resize : EventHandler 
Public Custom Event Resize As EventHandler 

次のコード例では、FormResize イベントを処理します。The following code example handles the Resize event of a Form. フォームのサイズが変更されると、イベントハンドラーによってフォームが正方形のままであることが保証されます (HeightWidth は同じ)。When the form is resized, the event handler ensures that the form stays square (its Height and Width remain equal). この例を実行するには、を確認し、このイベント処理メソッドをフォームの Resize イベントに関連付けます。To run this example, make sure and associate this event-handling method with the form's Resize event.

   void Form1_Resize( Object^ sender, System::EventArgs^ /*e*/ )
      Control^ control = dynamic_cast<Control^>(sender);

      // Ensure the Form remains square (Height = Width).
      if ( control->Size.Height != control->Size.Width )
         control->Size = System::Drawing::Size( control->Size.Width, control->Size.Width );
private void Form1_Resize(object sender, System.EventArgs e)
   Control control = (Control)sender;
   // Ensure the Form remains square (Height = Width).
   if(control.Size.Height != control.Size.Width)
      control.Size = new Size(control.Size.Width, control.Size.Width);
Private Sub Form1_Resize(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Resize

   Dim myControl As Control
   myControl = sender

   ' Ensure the Form remains square (Height = Width).
   If myControl.Size.Height <> myControl.Size.Width Then
      myControl.Size = New Size(myControl.Size.Width, myControl.Size.Width)
   End If
End Sub


サイズ変更されたコントロールの Size を確認するには、登録された ControlEventHandler メソッドの sender パラメーターを Control にキャストし、その Size プロパティを取得します (または Height プロパティと Width プロパティを個別に取得します)。To determine the Size of the resized control, you can cast the sender parameter of the registered ControlEventHandler method to a Control and get its Size property (or Height and Width properties individually).

カスタムレイアウトを処理するには、Resize イベントではなく、Layout イベントを使用します。To handle custom layouts, use the Layout event instead of the Resize event. Layout イベントは、Resize イベントに応答して発生しますが、コントロールのレイアウトに影響を与える他の変更に応答して発生します。The Layout event is raised in response to a Resize event, but also in response to other changes that affect the layout of the control.

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