Saya perlu menghapus fokus dari beberapa TextBox. Saya mencoba menggunakan:
textBox1.Focused = false;
Its ReadOnly
nilai properti adalah true
.
Saya kemudian mencoba mengatur fokus pada formulir, untuk menghapusnya dari semua TextBox, tetapi ini juga gagal berfungsi:
this.Focus();
dan fungsi kembali false
ketika kotak teks dipilih.
Jadi, bagaimana cara menghapus fokus dari TextBox?
Berfokus pada label tidak berhasil untuk saya, melakukan sesuatu seperti yang
label1.Focus()
benar? kotak teks masih memiliki fokus saat memuat formulir, namun mencoba jawaban Velociraptors , berhasil untuk saya, menyetel kontrol Aktif Formulir ke label seperti ini:sumber
this.ActiveControl = panelOnMyForm;
Anda dapat menambahkan kode berikut:
sumber
Coba nonaktifkan dan aktifkan kotak teks.
sumber
textBox1.Enabled = false;
akan menonaktifkan kotak teks Anda. dan menyetelnya ketrue
akan mengaktifkannya kembali.Anda juga dapat mengatur
activecontrol
properti formulir menjadinull
sukasumber
Focus
mengatur fokus input, jadi pengaturan ke formulir tidak akan berfungsi karena formulir tidak menerima input. Coba aturActiveControl
properti formulir ke kontrol yang berbeda. Anda juga dapat menggunakanSelect
untuk memilih kontrol tertentu atauSelectNextControl
untuk memilih kontrol berikutnya dalam urutan tab.sumber
Select()
berhasil untuk saya.Coba yang ini:
Pertama atur urutan tab.
Kemudian dalam bentuk event load kita dapat mengirim tekan tombol tab secara terprogram ke aplikasi. Sehingga aplikasi akan memberikan fokus pada kontrol pertama pada urutan tab.
dalam bentuk memuat bahkan menulis baris ini.
Ini berhasil untuk saya.
sumber
Posting ini mengarahkan saya untuk melakukan ini:
Ini memungkinkan saya untuk menangkap semua input keyboard di tingkat atas tanpa kontrol lain menjadi kacau.
sumber
Saya telah menemukan alternatif yang bagus! Ini bekerja paling baik untuk saya, tanpa menetapkan fokus pada hal lain.
Coba itu:
sumber
Saya membuat ini di kontrol kustom saya, saya melakukan ini di onFocus ()
Jadi jika texbox terfokus - itu langsung fokus pada kotak teks induk (formulir, atau panel ...) Ini adalah pilihan yang baik jika Anda ingin membuat ini pada kontrol khusus.
sumber
Sepertinya saya tidak perlu mengatur fokus ke elemen lain. Pada aplikasi Windows Phone 7, saya telah menggunakan metode Fokus untuk menghapus Fokus dari Kotak Teks.
Memberikan perintah berikut akan membuat fokus menjadi tidak ada:
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.focus.aspx
Itu berhasil untuk saya, tetapi saya tidak tahu mengapa itu tidak berhasil untuk Anda: /
sumber
Solusi sederhana adalah dengan mematikan fokus, buat saja kelas Anda sendiri:
sumber
sumber
Cara saya menyiasatinya adalah dengan menempatkan semua kontrol winform saya. Saya membuat semua label dan kontrol winform non-pemilihan sebagai urutan tab 0, kemudian kontrol pertama saya sebagai urutan tab 2 dan kemudian menaikkan setiap urutan kontrol yang dapat dipilih sebesar 1, jadi 3, 4, 5 dll ...
Dengan cara ini, ketika Winforms saya mulai, TextBox pertama tidak memiliki fokus!
sumber
Anda dapat melakukan ini dengan dua metode
seret dua kotak teks
sumber
Jika yang Anda inginkan hanyalah efek optik bahwa kotak teks tidak memiliki pilihan biru di seluruh isinya, cukup pilih tanpa teks:
Setelah ini, saat menambahkan konten dengan
.Text += "..."
, tidak ada pilihan biru yang akan ditampilkan.sumber
Silakan coba setel
TabStop
keFalse
untuk kontrol tampilan Anda yang tidak difokuskan.Misalnya:
sumber
Dalam konstruktor Formulir atau UserControl yang menahan TextBox menulis
Setelah InitializeComponent (); Sumber: https://stackoverflow.com/a/4811938/5750078
Contoh:
sumber