UIElement.Focus Метод
В этой статье
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Попытка задать фокус для данного элемента.
public:
virtual bool Focus();
public bool Focus();
abstract member Focus : unit -> bool
override this.Focus : unit -> bool
Public Function Focus () As Boolean
Значение true
, если для данного элемента задан клавиатурный фокус и логический фокус; значение false
, если для данного элемента задан только логический фокус или если вызов данного метода не привел к изменению фокуса.
В следующем примере устанавливается фокус на объект , TextBox на который ссылается Name, а затем настраивается положение курсора 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
Чтобы быть фокусируемым, Focusable и IsEnabled оба должны иметь значение true
.
Даже если элемент является фокусируемым и допустимым, события предварительного Focus
просмотра могут обрабатываться в определенном дереве, а фокусировка на этом элементе может быть запрещена (например, в составном элементе управления).
В таком случае этот метод возвращает false
.
Как правило, фокус управляется двумя разными понятиями: фокусом клавиатуры и логическим фокусом. Эти два понятия не всегда одинаковы. Дополнительные сведения см. в разделах Сводка фокуса и Общие сведения о входных данных.
Если вызов Focus возвращает true
, IsKeyboardFocused и IsKeyboardFocusWithin также true
имеют значение .
Если связанные свойства еще true
не имеют значения , при вызове Focusвызывается одно или несколько из следующих событий в следующем порядке: PreviewLostKeyboardFocus, PreviewGotKeyboardFocus (источник — новый целевой объект фокуса), IsKeyboardFocusedChanged, IsKeyboardFocusWithinChanged, LostKeyboardFocus, GotKeyboardFocus (источник — новый целевой объект фокуса).
Для успешного выполнения этого вызова ранее необходимо было сосредоточиться на другом элементе приложения. Кроме того, когда родительский элемент контейнера вызывает этот метод, в некоторых ситуациях дочерний элемент получает фокус, а возвращаемое значение будет иметь значение false
. Чтобы проверить, имеет ли элемент фокус, используйте IsKeyboardFocusWithin
свойства и IsKeyboardFocused
.
Применяется к
Продукт | Версии |
---|---|
.NET Framework | 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
Windows Desktop | 3.0, 3.1, 5, 6, 7, 8, 9, 10 |