Mam w moim programie C # textBox
Potrzebuję tego po uruchomieniu programu, fokus będzie znajdował się na polu tekstowym
Próbuję tego na Form_Load:
MyTextBox.Focus();
ale to nie zadziała
Ustaw ActiveControl
właściwość formularza i powinno być dobrze.
this.ActiveControl = yourtextboxname;
ComboBox
. Ale to też nie działa!MyTextBox.Focus();
zadziałało - wydaje się, że działa dobrze, gdy program jest uruchomiony.this.ActiveControl = textBox1;
Każdy rozumie znaczenie „textBox1”. „youttextboxname” brzmi jak... = "MyTextBox";
sprawdź kolejność tabulatorów i upewnij się, że pole tekstowe jest ustawione na zero
źródło
Możesz spróbować:
MyTextBox.Select ();
Zgodnie z dokumentacją:
Możesz najpierw sprawdzić, czy formant można wybrać, sprawdzając właściwość MyTextBox.CanSelect .
źródło
Nie można ustawić fokusu na kontrolkę, jeśli nie została wyrenderowana. Form.Load () występuje przed renderowaniem kontrolek.
Przejdź do wydarzeń formularza i kliknij dwukrotnie wydarzenie „Wyświetlane”. W module obsługi zdarzeń wyświetlonym w formularzu wywołaj metodę control.Focus ().
źródło
Jeśli chcesz ustawić fokus tylko przy pierwszym wyświetleniu formularza, spróbuj obsłużyć zdarzenie Form.Shown i zrobić to tam. W przeciwnym razie użyj Control.VisibleChanged .
źródło
Textbox.Focus()
„Próbuje”, aby ustawić fokus na elemencie pola tekstowego. W przypadku np. Ukrycia elementu widocznośćFocus()
nie zadziała. Dlatego przed wywołaniem upewnij się, że Twój element jest widocznyFocus()
.źródło
Powodem, dla którego nie możesz go uruchomić, jest to, że
Load
zdarzenie jest wywoływane przed narysowaniem lub renderowaniem formularza.To tak, jakby powiedzieć pizzerii, jak zrobić pizzę, a następnie poprosić o przesłanie zdjęcia przedstawiającego ilość pepperoni w pizzy, zanim ją zrobią.
źródło
Rozwiązałem problem ze zmianą właściwości "TabIndex" TextBox. Ustawiam 0 dla TextBox, w którym chcę skupić się na formularzu po uruchomieniu programu.
źródło
użyj formularza pokazanego wydarzenia i zestawu
źródło
Ustaw wartość właściwości Tab Index = 0, a następnie w postaci funkcji load wpisz:
To będzie działać.
źródło
Możesz użyć albo
textBox1.select();
ustawienia TabIndex w polu tekstowym.TabIndex=0
skupiony jako pierwszy.źródło
Ustaw Tabstop na True i TabIndex na minimum do kontrolki, na której chcesz się skupić.
np. Jeśli masz 2 TextBoxes: TextBox1 i TextBox2, ustaw Tabstop na True dla obu i TabIndex odpowiednio na 0 i 1. Po załadowaniu formularza fokus znajdzie się na TextBox1, a po naciśnięciu klawisza „Tab” fokus zostanie przeniesiony do TextBox2.
źródło
w formularzu przejdź do właściwości i upewnij się, że właściwość „TopMost” jest ustawiona na true, co rozwiąże Twój problem.
źródło
to działało dla mnie ustaw tabindex na 0 this.yourtextbox.TabIndex = 0;
źródło
W końcu znalazłem problem, którego używałem, i wszystkie twoje rozwiązania nie będą działać z metroTextBox, a wszystkie twoje rozwiązania będą działać z normalnym textBoxem w trybie load, show, visibility_change, events, nawet indeks tabulacji = 0 jest prawidłowy.
źródło
W jquery ustaw fokus
lub w Javascript możesz to zrobić
źródło
c#
iwinforms
.