У меня есть MaskedTextBox, что форматирует текст выглядеть (###) ### - ####MaskedTextBox обнаружения вкладки
После ввода первых 3 цифры, они любят нажимать «TAB» к следующему набору. К сожалению, нажав TAB, они находятся в следующем поле.
Поэтому мой босс попросил меня изменить приложение, чтобы пользователи остались в одном поле, но курсор находится в следующей группе.
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;
}
}
}
Я также попытался
private void maskedTextBoxHomePhone_KeyDown(object sender, KeyEventArgs e)
{
MaskedTextBox mtb = (MaskedTextBox)sender;
if (e.KeyCode == Keys.Tab)
{
if (mtb.TextLength == 3)
{
mtb.SelectionStart = 4;
}
}
}
, когда я использую ProcessCmdKey, она не позволяет какой-либо из других символов в поле –
то, возможно, вы должны попробовать первый вариант, который я дал ... если TextLength == 3, вы должны вернуть фокус в замаскированное текстовое поле и установить начало выбора на 4. – Forlani