J'ai MaskedTextBox que les formats texte pour ressembler (###) ### - ####MaskedTextBox détection d'un onglet
Après avoir entré les 3 premiers chiffres, ils aiment appuyer sur "TAB" à l'ensemble suivant. Malheureusement en appuyant sur TAB, ils sont dans le champ suivant. Mon patron m'a donc demandé de modifier l'application pour que les utilisateurs restent dans le même champ mais que le curseur se trouve dans le groupe suivant.
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;
}
}
}
J'ai aussi essayé
private void maskedTextBoxHomePhone_KeyDown(object sender, KeyEventArgs e)
{
MaskedTextBox mtb = (MaskedTextBox)sender;
if (e.KeyCode == Keys.Tab)
{
if (mtb.TextLength == 3)
{
mtb.SelectionStart = 4;
}
}
}
quand je l'utilise ProcessCmdKey, il ne permet pas l'un des autres personnages dans le champ –
alors peut-être vous devriez essayer la première option que j'ai donnée ... si TextLength == 3, vous devriez retourner votre focus à la boîte de texte masquée et mettre la sélection à 4. – Forlani