Основываясь на предложении JRS об использовании события PreviewKeyDown, это отправляет нажатие клавиши на элемент управления:
private void textBox1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{
if (e.KeyCode == Keys.Tab)
e.IsInputKey = true;
}
Затем вы можете обработать событие KeyDown элемента управления, если вы хотите настроить поведение:
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Tab)
{
MessageBox.Show("The tab key was pressed while holding these modifier keys: "
+ e.Modifiers.ToString());
}
}
Альтернатива TextBoxBase
Если элемент управления получен из TextBoxBase
(то есть TextBox
или RichTextBox
), со свойством Multiline
, установленным в true
,тогда вы можете просто установить для свойства AcceptsTab
значение true
.
TextBoxBase.AcceptsTab Property
Получает или задает значение, указывающее, нажимается ли клавиша TABпри вводе многострочного текстового поля введите символ TAB в элемент управления вместо перемещения фокуса на следующий элемент управления в порядке табуляции.