我在ToolStrip中有一个ToolStripComboBox,当我按下TAB键时,它会将焦点放在下一个工具条按钮上。我想改变这种行为,并将焦点放在我的表单上的richtextbox上。
问题是ToolStripComboBox没有PreviewKeyDown事件。并且当在组合中按下Tab键时,不会调用托管ToolStrip工具栏的PreviewKeyDown(仅在按下并且某些工具条按钮被聚焦时)。
工具栏工具栏的TabStop为false。
有什么想法吗?
答案 0 :(得分:1)
在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);
}