Wie zu erkennen, die tab-Taste drücken, die in C#?
Möchte ich erkennen, wenn der tab-Taste in ein Textfeld, und konzentrieren das nächste Textfeld, in das Gremium.
Habe ich ausprobiert, keyPressed-Methode und keyDown-Methode. Aber wenn ich das Programm ausführen und Debuggen, die diese Methoden nicht aufrufen, wenn Sie die tab-Taste gedrückt wird.
Hier ist mein code.
private void textBoxName_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Tab)
{
textBoxUsername.Focus();
}
}
private void textBoxName_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar==(char)Keys.Tab)
{
textBoxUsername.Focus();
}
}
Bitte korrigieren Sie mich.Danke.
NOOO!!! Tun Sie es nicht auf diese Weise! Werfen Sie einen Blick auf: stackoverflow.com/questions/2942617/...
Hast du unter <stackoverflow.com/a/35914976/10205407>? Credits: @Reza Aghaei
Hast du unter <stackoverflow.com/a/35914976/10205407>? Credits: @Reza Aghaei
InformationsquelleAutor Dinu | 2010-06-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
gehen Sie zu den Eigenschaften des Textfeld, und weisen Sie die richtige Reihenfolge der tabindex -
InformationsquelleAutor sravan
Warum brauchen Sie, dass die Komplikation an allen? WinForms bedeutet das für Sie automatisch. Sie müssen nur die richtige tab-Reihenfolge.
Verwenden Sie die TabIndex-Eigenschaft für das Steuerelement. Sie können dies programmgesteuert, oder Sie können Sie über Ansicht -> Registerkarte, Um in den designer.
InformationsquelleAutor Fyodor Soikin
Sollten Sie verwenden tabOrder statt.
InformationsquelleAutor VoodooChild
Wollen Sie die "verlassen" - Ereignis. Ich habe gerade warf diese in die Standard-C# - WinForms-Anwendung:
Es funktioniert wie man es erwarten würde. Natürlich können Sie tun, was Sie wollen in der
Leave()
handler, einschließlich der zwingen, den Fokus an anderer Stelle, aber seien Sie vorsichtig, nicht zu verwechseln die user...InformationsquelleAutor egrunin
Können Sie versuchen, das überschreiben der ProcessCmdKey-Methode wie diese
InformationsquelleAutor Amsakanna
Wenn textBoxName hat einen Fokus beim drücken der TAB-Taste , dann wird nur das "KeyDown" Ereignis-Trigger.
Sie müssen nur die richtige tab-Reihenfolge.
InformationsquelleAutor user374191
Wenn Sie den Umgang mit Textfeldern in einem Schaltschrank, die richtige Einstellung Registerkarte index sollte den job perfekt. Aber, wenn Sie sind den Umgang mit anderen Textfeld aus anderen Panel sagen:
panel1 hat textbox1
panel2 hat textbox2
panel3 hat textbox3
Hier ist, was Sie tun müssen:
Legen Sie die
TabStop = False
property
alle Textfelder. Dieser ist standardmäßig auf True gesetzt.Stellen Sie die richtige
TabIndex
für jedes panel, z.B.panel1 TabIndex = 0;
panel2 TabIndex = 1;
panel3 TabIndex = 2;
Dann versuchen, diesen code
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode.Equals(Keys.Tab))
this.textBox3.Focus();
}
InformationsquelleAutor Tobee