展開 最小化

Control.Focus Method

コントロールにフォーカスを設定することを試みます。

構文


public:
bool Focus(
  FocusState value
)

パラメーター

value

型: FocusState

フォーカスがどのように設定されたかを列挙値として指定します。

戻り値

型: System.Boolean [.NET] | Platform::Boolean [C++]

コントロールにフォーカスが設定された場合、またはコントロールにフォーカスが既に設定されている場合は true。コントロールにフォーカスを設定できない場合は false

解説

FocusState.Unfocused を使用してパラメーターとしてこのメソッドを呼び出しても、コントロールからフォーカスを削除することはできません。この値は許可されません。例外が発生します。コントロールからフォーカスを除去するには、別のコントロールにフォーカスを設定します。

通常は FocusState.Programmatic をパラメーターとして渡し、Focus メソッドの意図的な呼び出しによってフォーカスを取得するコントロールを示します。 たとえば、"[編集]" ボタンをクリックすることでフォーカスを TextBox に設定する場合は、Programmatic フォーカス状態を使用します。

ポインター操作の直接結果としてフォーカスを設定する場合は、FocusState.Pointer を渡します。タブ順やキー入力など、キーボード操作の結果としてフォーカスを設定する場合は、FocusState.Keyboard をパラメーターとして渡します。たとえば、ItemsControl を実装し、キーの押下を処理して、ユーザーがコントロール内の項目間でフォーカスを移動できるようにするには、キー押下ハンドラーで Focus を呼び出すときに Keyboard フォーカス状態を使用します。

メモ  

Windows 8 では、以前の入力方法がポインターであっても、FocusStateProgrammatic であるときにキーボードのフォーカス表示が表示されます。Windows 8.1 では、Focus(FocusState.Programmatic) を呼び出すときに、PointerKeyboard のどちらであっても以前の FocusState が 保持されるため、フォーカス表示が適切に表示されます。これは Focus (FocusState.Programmatic) を呼び出した後に FocusState プロパティの値を確認すると、FocusState プロパティには Pointer または Keyboard の値があることを意味します。

Windows 8 用にコンパイルされ Windows 8.1 で実行されるアプリケーションでは、Windows 8 の動作が保持されます。FocusState プロパティ値は Programmatic で、キーボード フォーカスのビジュアルが表示されます。

要件

最小限サポートされるクライアント

Windows 8

最小限サポートされるサーバー

Windows Server 2012

名前空間

Windows.UI.Xaml.Controls
Windows::UI::Xaml::Controls [C++]

メタデータ

Windows.winmd

参照

Control
Control.FocusState
UIElement.GotFocus
UIElement.LostFocus
Control.OnGotFocus
キーボード入力への応答
キーボードのアクセシビリティの実装
オンスクリーン キーボードのサンプルの外観への応答

 

 

表示:
© 2014 Microsoft