Bir C # WinForms metin kutusu odak aldığında, tarayıcınızın adres çubuğu gibi davranmasını istiyorum.
Ne demek istediğimi görmek için web tarayıcınızın adres çubuğunda simgesini tıklayın. Aşağıdaki davranışı fark edeceksiniz:
- Metin kutusu daha önce odaklanmamışsa, metin kutusuna tıklamak tüm metni seçmelidir.
- Fareyi aşağı kaydırın ve metin kutusuna sürükleyin, yalnızca fareyle vurguladığım metni seçmelidir.
- Metin kutusu zaten odaklanmışsa, tıklatmak tüm metni seçmez.
- Metin kutusunu programlı olarak veya klavye sekmesi yoluyla odaklamak tüm metni seçmelidir.
Bunu tam olarak WinForms'da yapmak istiyorum.
EN HIZLI SİLAH UYARISI: cevaplamadan önce lütfen aşağıdakileri okuyun! Teşekkürler beyler. :-)
.Enter veya .GotFocus olayları sırasında .SelectAll () öğesini çağırmak işe yaramaz, çünkü kullanıcı metin kutusunu tıkladığında, düzeltme işareti tıklattığı yere yerleştirilir ve böylece tüm metinlerin seçimi kaldırılır.
.Click olayı sırasında .SelectAll () öğesini çağırmak , kullanıcı fare ile herhangi bir metin seçemeyeceği için çalışmaz; .SelectAll () çağrısı, kullanıcının metin seçiminin üzerine yazmaya devam edecektir.
Odaklama / enter olayı girmesindeki BeginInvoke ((Eylem) metin kutusu.SelectAll) çağrıldığında yukarıdaki kural # 2'yi ihlal ettiği için çalışmaz , kullanıcının odaktaki seçimini geçersiz kılmaya devam eder.