我在 ToolStrip 中有一个 ToolStripComboBox,当我在其中按 TAB 键时,它会将焦点放在下一个工具条按钮上。我想改变这种行为,并将焦点放在我的表单上的富文本框上。
问题是 ToolStripComboBox 没有 PreviewKeyDown 事件。当在组合中按下 Tab 键时(仅在按下并且某些工具条按钮被聚焦时),不会调用宿主 ToolStrip 工具栏的 PreviewKeyDown。
工具条工具栏的 TabStop 为 false。
有任何想法吗?
我在 ToolStrip 中有一个 ToolStripComboBox,当我在其中按 TAB 键时,它会将焦点放在下一个工具条按钮上。我想改变这种行为,并将焦点放在我的表单上的富文本框上。
问题是 ToolStripComboBox 没有 PreviewKeyDown 事件。当在组合中按下 Tab 键时(仅在按下并且某些工具条按钮被聚焦时),不会调用宿主 ToolStrip 工具栏的 PreviewKeyDown。
工具条工具栏的 TabStop 为 false。
有任何想法吗?
您可以在 ToolStrip 控件获取键之前在表单级别捕获它。覆盖表单的 ProcessCmdKey() 方法,使其看起来类似于:
protected override bool ProcessCmdKey(ref Message msg, Keys keyData) {
if (keyData == Keys.Tab && this.ActiveControl == toolStripComboBox1.Control) {
richTextBox1.Focus();
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}