Control.Focus(FocusState) Metode

Definisi

Mencoba untuk mengatur fokus pada kontrol.

public:
 virtual bool Focus(FocusState value) = Focus;
bool Focus(FocusState const& value);
public bool Focus(FocusState value);
function focus(value)
Public Function Focus (value As FocusState) As Boolean

Parameter

value
FocusState

Menentukan bagaimana fokus ditetapkan, sebagai nilai enumerasi.

Mengembalikan

Boolean

bool

true jika fokus diatur ke kontrol, atau fokus sudah pada kontrol. false jika kontrol tidak dapat difokuskan.

Contoh

Dalam contoh ini, mengklik tombol "Edit" menyebabkan fokus diatur pada Kotak Teks, sehingga status fokus Terprogram diteruskan ke metode Fokus.

<StackPanel>
    <Button Content="Edit" Click="Button_Click"/>
    <TextBox x:Name="EditorTextBox" IsReadOnly="True"/>
</StackPanel>
private void Button_Click(object sender, RoutedEventArgs e)
{
    EditorTextBox.IsReadOnly = false;
    EditorTextBox.Focus(FocusState.Programmatic);
}

Keterangan

Jika Anda memanggil metode ini pada Control dengan IsTabStop diatur ke false, panggilan akan diabaikan dan fokus tidak akan bergerak, dan panggilan akan mengembalikan false.

Anda tidak dapat menghapus fokus dari kontrol dengan memanggil metode ini dengan Unfocused sebagai parameter . Nilai ini tidak diizinkan dan menyebabkan pengecualian. Untuk menghapus fokus dari kontrol, atur fokus ke kontrol yang berbeda.

Anda biasanya meneruskan FocusState.Programmatic sebagai parameter untuk menunjukkan kontrol yang diperoleh fokus melalui panggilan yang disengaja ke metode Fokus. Misalnya, jika mengklik tombol "Edit" menyebabkan fokus diatur pada Kotak Teks, gunakan status Fokus terprogram .

Teruskan FocusState.Pointer jika Anda mengatur fokus sebagai hasil langsung interaksi pointer. Teruskan FocusState.Keyboard sebagai parameter jika Anda mengatur fokus sebagai akibat dari interaksi keyboard, seperti urutan tab atau tekan tombol. Misalnya, jika Anda menerapkan ItemsControl dan menangani penekanan tombol untuk memungkinkan pengguna memindahkan fokus antar item dalam kontrol, gunakan status fokus Keyboard saat Anda memanggil Fokus di penangan tombol Anda.

Catatan untuk versi sebelumnya

Catatan

Dalam Windows 8, ketika FocusStateterprogram, visual fokus keyboard ditampilkan meskipun metode input sebelumnya adalah penunjuk. Di Windows 8.1, saat Anda memanggil Fokus (FocusState.Programmatic), FocusState sebelumnya, baik Pointer atau Keyboard, dipertahankan sehingga visual fokus yang benar ditampilkan. Ini berarti bahwa jika Anda memeriksa nilai properti FocusState setelah Anda memanggil Focus (FocusState.Programmatic), properti FocusState akan memiliki nilai Pointer atau Keyboard.

Dalam aplikasi yang dikompilasi untuk Windows 8, tetapi dijalankan di Windows 8.1, perilaku Windows 8 dipertahankan. Nilai properti FocusStateterprogram dan visual fokus keyboard ditampilkan.

Berlaku untuk

Lihat juga