根据 JRS 对使用 PreviewKeyDown 事件的建议,这会将按键发送到控件:
private void textBox1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{
if (e.KeyCode == Keys.Tab)
e.IsInputKey = true;
}
Run Code Online (Sandbox Code Playgroud)
然后,如果要自定义行为,则可以处理控件的 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());
}
}
Run Code Online (Sandbox Code Playgroud)
如果控件派生自TextBoxBase(ieTextBox或RichTextBox),并且Multiline属性设置为true,则您可以简单地将AcceptsTab属性设置为true。
获取或设置一个值,该值指示在多行文本框控件中按 TAB 键是否在控件中键入 TAB 字符,而不是将焦点移到 Tab 键顺序中的下一个控件。