UIElement.Focus メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
この要素にフォーカスを設定することを試みます。
public:
virtual bool Focus();
public bool Focus ();
abstract member Focus : unit -> bool
override this.Focus : unit -> bool
Public Function Focus () As Boolean
戻り値
この要素にキーボード フォーカスと論理フォーカスの両方が設定された場合は true
。論理フォーカスのみが設定された場合、またはこのメソッドの呼び出しによってフォーカスの変更が強制されない場合は false
。
実装
例
次の例では、 によってName参照される にフォーカスをTextBox設定し、 内のカーソルの位置をTextBox調整します。
void OnClickMoveToStart(object sender, RoutedEventArgs e)
{
tbPositionCursor.Focus();
tbPositionCursor.Select(0, 0);
}
Private Sub OnClickMoveToStart(ByVal sender As Object, ByVal e As RoutedEventArgs)
tbPositionCursor.Focus()
tbPositionCursor.Select(0, 0)
End Sub
注釈
フォーカス可能にするには、 と IsEnabled のFocusable両方を にするtrue
必要があります。
要素がフォーカス可能で有効な場合でも、 Focus
プレビュー イベントは特定のツリーで処理され、その要素へのフォーカスが許可されない場合があります (複合コントロールなど)。
このような場合、このメソッドは を返します false
。
一般に、フォーカスはキーボード フォーカスと論理フォーカスという 2 つの異なる概念によって制御されます。 これら 2 つの概念は常に同じとは限りません。 詳細については、「フォーカスの 概要 」と「 入力の概要」を参照してください。
を呼び出すとFocus、 が をtrue
IsKeyboardFocused返し、 IsKeyboardFocusWithin も true
になります。
関連するプロパティがまだ true
でない場合、 を呼び出Focusすと、次の 1 つ以上のイベントが次の順序で発生します。 PreviewGotKeyboardFocusPreviewLostKeyboardFocus(source は新しいフォーカス ターゲット)IsKeyboardFocusedChanged、、IsKeyboardFocusWithinChanged、LostKeyboardFocus、 GotKeyboardFocus 、(source は新しいフォーカス ターゲットです)。
この呼び出しを成功させるには、以前にアプリケーション内の他の要素にフォーカスが必要でした。 また、親コンテナー要素がこのメソッドを呼び出すと、特定の状況では、子はフォーカスを取得し、戻り値は になります false
。 要素にフォーカスがあるかどうかをテストするには、 プロパティと IsKeyboardFocused
プロパティをIsKeyboardFocusWithin
使用します。
適用対象
.NET