0

我在 ToolStrip 中有一个 ToolStripComboBox,当我在其中按 TAB 键时,它会将焦点放在下一个工具条按钮上。我想改变这种行为,并将焦点放在我的表单上的富文本框上。

问题是 ToolStripComboBox 没有 PreviewKeyDown 事件。当在组合中按下 Tab 键时(仅在按下并且某些工具条按钮被聚焦时),不会调用宿主 ToolStrip 工具栏的 PreviewKeyDown。

工具条工具栏的 TabStop 为 false。

有任何想法吗?

4

1 回答 1

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);
    }
于 2010-05-25T14:00:01.307 回答