この記事は翻訳者によって翻訳されたものです。 記事の文章にポインターを重ねると、原文のテキストが表示されます。 |
訳文
原文
|
Control.Enter イベント
コントロールが入力されると発生します。
アセンブリ: System.Windows.Forms (System.Windows.Forms.dll 内)
キーボード (Tab、Shift + Tab など) を使用するか、Select メソッドまたは SelectNextControl メソッドを呼び出すか、ContainerControl.ActiveControl プロパティを現在のフォームに設定してフォーカスを変更するとき、次の順序でフォーカス イベントが発生します。
マウスを使用するか Focus メソッドを呼び出してフォーカスを変更するとき、フォーカス イベントは次の順序で発生します。
CausesValidation プロパティが false に設定されている場合、Validating イベントおよび Validated イベントは発生しません。
メモ
|
|---|
|
Enter イベントおよび Leave イベントは、Form クラスによって中止されます。 Form クラスと等しいイベントは、Activated イベントと Deactivate イベントです。 Enter イベントおよび Leave イベントは階層構造になっており、適切なコントロールに到達するまで、親チェインを次々に移動します。 たとえば、2 つの GroupBox コントロールを持つ Form があり、各 GroupBox コントロールが 1 つずつ TextBox コントロールを持っているとします。 カレット (^) が 1 つの TextBox からもう 1 つのテキスト ボックスに移動すると、TextBox および GroupBox に対して Leave イベントが発生し、他方の GroupBox および TextBox に対して Enter イベントが発生します。 |
注意
|
|---|
|
Enter、GotFocus、Leave、LostFocus、Validating、または Validated イベント ハンドラーの中からフォーカスを設定しないでください。 フォーカスを設定すると、アプリケーションやオペレーティング システムが応答を停止することがあります。 詳細については、MSDN ライブラリ (http://msdn.microsoft.com/ja-jp/library/default.aspx) にある「Keyboard Input Reference (キーボード入力リファレンス)」セクションの WM_KILLFOCUS、および「About Messages and Message Queues (メッセージおよびメッセージ キューについて)」トピックの「Message Deadlocks (メッセージ デッドロック)」セクションを参照してください。 |
イベント処理の詳細については、「イベントの利用」を参照してください。
Enter イベントを使用して、特定の条件で TextBox の前景色および背景色を変更するコード例を次に示します。
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); } } 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); }
Windows 7, Windows Vista SP1 以降, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core はサポート対象外), Windows Server 2008 R2 (SP1 以降で Server Core をサポート), Windows Server 2003 SP2
.NET Framework では、各プラットフォームのすべてのバージョンはサポートしていません。 サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。
メモ
注意