Ich habe einen MaskedTextBox, den Text wie aussehen Formate (###) ### - ####MaskedTextBox Erfassen eine Lasche
die ersten 3 Ziffern nach der Eingabe, die sie gerne drücken "TAB" zum nächsten Satz. Leider sind sie durch Drücken von TAB im nächsten Feld.
Also hat mich mein Chef gebeten, die Anwendung so zu ändern, dass die Benutzer im selben Feld bleiben, aber der Cursor in der nächsten Gruppe ist.
private void maskedTextBoxHomePhone_KeyPress(object sender, KeyPressEventArgs e)
{
MaskedTextBox mtb = (MaskedTextBox)sender;
if (e.KeyChar == (char)Keys.Tab)
{
if (mtb.TextLength == 3)
{
mtb.SelectionStart = 4;
}
}
}
Ich habe auch versucht
private void maskedTextBoxHomePhone_KeyDown(object sender, KeyEventArgs e)
{
MaskedTextBox mtb = (MaskedTextBox)sender;
if (e.KeyCode == Keys.Tab)
{
if (mtb.TextLength == 3)
{
mtb.SelectionStart = 4;
}
}
}
wenn ich ProcessCmdKey verwenden, ist es nicht eine der anderen Zeichen in das Feld erlauben –
dann versuchen, vielleicht sollten Sie die erste Option, die ich gab ... Wenn die TextLength == 3, sollten Sie Ihren Fokus auf das maskierte Textfeld zurückgeben und den Start der Auswahl auf 4 setzen. – Forlani