Control.Enter イベント

定義

コントロールが入力されると発生します。Occurs when the control is entered.

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

イベントの種類

EventHandler

次のコード例では、イベントを使用して Enter 、特定の条件下でのの前景色と背景色を変更し TextBox ます。The following code example uses the Enter event to change the foreground and background colors of a TextBox under particular conditions.

private:
   void textBox1_Enter( Object^ /*sender*/, System::EventArgs^ /*e*/ )
   {
      // If the TextBox contains text, change its foreground and background colors.
      if ( textBox1->Text != String::Empty )
      {
         textBox1->ForeColor = Color::Red;
         textBox1->BackColor = Color::Black;

         // Move the selection pointer to the end of the text of the control.
         textBox1->Select(textBox1->Text->Length,0);
      }
   }

   void textBox1_Leave( Object^ /*sender*/, System::EventArgs^ /*e*/ )
   {
      // Reset the colors and selection of the TextBox after focus is lost.
      textBox1->ForeColor = Color::Black;
      textBox1->BackColor = Color::White;
      textBox1->Select(0,0);
   }
private void textBox1_Enter(object sender, System.EventArgs e)
{
    // If the TextBox contains text, change its foreground and background colors.
    if (!string.IsNullOrEmpty(textBox1.Text))
    {
        textBox1.ForeColor = Color.Red;
        textBox1.BackColor = Color.Black;
        // Move the selection pointer to the end of the text of the control.
        textBox1.Select(textBox1.Text.Length, 0);
    }
}

private void textBox1_Leave(object sender, System.EventArgs e)
{
    // Reset the colors and selection of the TextBox after focus is lost.
    textBox1.ForeColor = Color.Black;
    textBox1.BackColor = Color.White;
    textBox1.Select(0,0);
}
    Private Sub textBox1_Enter(sender As Object, e As System.EventArgs) Handles textBox1.Enter
        ' If the TextBox contains text, change its foreground and background colors.
        If textBox1.Text <> [String].Empty Then
            textBox1.ForeColor = Color.Red
            textBox1.BackColor = Color.Black
            ' Move the selection pointer to the end of the text of the control.
            textBox1.Select(textBox1.Text.Length, 0)
        End If
    End Sub
   
   
    Private Sub textBox1_Leave(sender As Object, e As System.EventArgs) Handles textBox1.Leave
        ' Reset the colors and selection of the TextBox after focus is lost.
        textBox1.ForeColor = Color.Black
        textBox1.BackColor = Color.White
        textBox1.Select(0, 0)
    End Sub
End Class

注釈

キーボード (タブ、SHIFT + TAB など) を使用してフォーカスを変更した場合、 Select メソッドまたはメソッドを呼び出す SelectNextControl か、プロパティを現在のフォームに設定した場合 ContainerControl.ActiveControl 、フォーカスイベントは次の順序で発生します。When you change the focus by using the keyboard (TAB, SHIFT+TAB, and so on), by calling the Select or SelectNextControl methods, or by setting the ContainerControl.ActiveControl property to the current form, focus events occur in the following order:

  1. Enter

  2. GotFocus

  3. Leave

  4. Validating

  5. Validated

  6. LostFocus

マウスを使用するか、メソッドを呼び出すことによってフォーカスを変更すると Focus 、フォーカスイベントは次の順序で発生します。When you change the focus by using the mouse or by calling the Focus method, focus events occur in the following order:

  1. Enter

  2. GotFocus

  3. LostFocus

  4. Leave

  5. Validating

  6. Validated

CausesValidationプロパティがに設定されている場合 falseValidating Validated イベントとイベントは抑制されます。If the CausesValidation property is set to false, the Validating and Validated events are suppressed.

注意

Enterイベントと Leave イベントは、クラスによって抑制され Form ます。The Enter and Leave events are suppressed by the Form class. クラスの同等のイベントは、 Form Activated イベントと Deactivate イベントです。The equivalent events in the Form class are the Activated and Deactivate events. Enterイベントと Leave イベントは階層構造であり、適切なコントロールに到達するまで親チェーンを上下に重ねて表示されます。The Enter and Leave events are hierarchical and will cascade up and down the parent chain until the appropriate control is reached. たとえば、に2つのコントロールがあり、 Form GroupBoxGroupBox コントロールに1つのコントロールがあるとし TextBox ます。For example, assume you have a Form with two GroupBox controls, and each GroupBox control has one TextBox control. カーソルを1つから別の位置に移動すると、 TextBox Leave とのイベントが TextBox 発生 GroupBox し、他のとに Enter 対してイベントが発生し GroupBox TextBox ます。When the caret is moved from one TextBox to the other, the Leave event is raised for the TextBox and GroupBox, and the Enter event is raised for the other GroupBox and TextBox.

注意事項

Enter、、 GotFocus 、、 Leave LostFocus Validating 、またはの各 Validated イベントハンドラー内からフォーカスを設定しないようにしてください。Do not attempt to set focus from within the Enter, GotFocus, Leave, LostFocus, Validating, or Validated event handlers. これにより、アプリケーションまたはオペレーティングシステムが応答を停止する可能性があります。Doing so can cause your application or the operating system to stop responding. 詳細については、 WM_KILLFOCUS 「キーボード入力リファレンス」セクションのトピックと、「 About Messages And message Queues 」トピックの「message デッドロック」セクションを参照してください。For more information, see the WM_KILLFOCUS topic in the "Keyboard Input Reference" section and the "Message Deadlocks" section of the About Messages and Message Queues topic.

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

適用対象

こちらもご覧ください