我在ToolStrip中有一个ToolStripComboBox,当我在其中按Tab键时,它会将焦点转移到下一个工具条按钮。我想改变这一行为,并将焦点放在窗体上的richtextbox上。
问题是ToolStripComboBox没有PreviewKeyDown事件。当组合框中按下Tab键时,宿主ToolStrip工具栏的PreviewKeyDown不会被调用(只是当按下某个toolstripbutton时)。
工具条工具栏的TabStop为false。
有什么想法吗?
发布于 2010-05-25 22:00:01
在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);
}https://stackoverflow.com/questions/2904950
复制相似问题