Entwickler-Ecke
WinForms - Focus weitergeben
vreden123 - Fr 24.12.10 18:03
Titel: Focus weitergeben
Hallo,
nach dem starten von meinem Programm bekommt eine Textbox direkt den Focus.
Wie kann ich es machen das beim drücken der Eingabetaste der Focus zu einer anderen textbox geht?
xToast - Fr 24.12.10 18:25
C#-Quelltext
1: 2: 3: 4: 5:
| private void textbox1_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == '\n' || e.KeyChar == '\r' ) textbox2.Focus(); } |
So müsste es gehen, ist aber ungetestet.
vreden123 - Fr 24.12.10 18:42
Die Funktion variable.KeyChar gibt es in C# nicht.
Die lautet dann variable.KeyPress aber das klappt leider nicht wenn ich das passend ersetze :-)
Trashkid2000 - Sa 25.12.10 10:05
Hallo,
nehme mal lieber das "KeyDown"-Event der TextBox dafür, da Du dort in der Lage bist, den Key abzufragen und vor allen Dingen auch abzufangen:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| private void textBox1_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Return) { e.SuppressKeyPress = true; e.Handled = true; textBox2.Focus(); } else e.Handled = false; } |
Marko
vreden123 - Sa 25.12.10 13:08
Hallo,
wenn ich aber ein Doppelklick auf die Textbox mache kommt nur:
C#-Quelltext
1: 2: 3: 4:
| private void txt_suche_TextChanged(object sender, EventArgs e) {
} |
und wenn ich daraus
C#-Quelltext
1: 2: 3: 4:
| private void txt_suche_KeyDown(object sender, KeyEventArgs e) {
} |
mache,klappt das nicht.
Er mekert das eine Using-Direktive oder Assemblyverweis fehlt.
Woran kann das liegen?
Moderiert von
Christian S.: C#-Tags hinzugefügt
Trashkid2000 - Sa 25.12.10 13:21
Der TextChanged-EventHandler ist der, der per Default erstellt wird, wenn man im Designer einen Doppelklick auf eine TextBox macht. Um einen Handler für ein anderes Event anzulegen, muss man dies entweder selber im Code vornehmen
C#-Quelltext
1:
| this.textBox1.KeyDown += new KeyEventHandler(this.textBox1_KeyDown); |
, oder aber Du machst das mit dem Designer. Wähle dazu mal die TextBox aus und gehe dann zu den Eigenschaften der TextBox. Oben im Eigenschaftenfenster hast Du ein kleines Icon mit einem Pfeil (Ereignisse). Klicke mal darauf, und du bekommst alle Events aufgelistet, die das Steuerelement feuert. Wenn Du nun in das Feld neben dem Event, für das Du einen Eventhandler erstellen willst, einen Doppelklick machst, so wird der Handler erzeugt und für das Event registriert. Oder wenn Du den Handler schon erstellt hast, und ihn nur noch registrieren willst, so kannst Du ihn auch in dem DropDown-Menü dort auswählen.
Marko
vreden123 - Sa 25.12.10 23:45
Ich habe das jetzt so gemacht aber bei:
KeyEventHandler
wird immmer noch gemekert das eine Using-Direktive oder Assemblyverweis fehlt.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!