質問

ツールストリップにツールストリップコンボボックスがあり、タブキーを押すと、次のツールストリップボタンに焦点を当てます。この動作を変更し、代わりに自分のフォームのrichtextboxに焦点を当てたいと思います。

問題は、ToolStripComboBoxにPreviewKeyDownイベントがないことです。ホスティングツールストリップツールバーのプレビューキーダウンは、コンボでTABキーが押された場合に呼び出されません(プレスされ、いくつかのToolStripButtonが焦点を合わせたとき)。

ツールストリップツールバーのタブストップは偽です。

何か案は?

役に立ちましたか?

解決

ツールストリップコントロールがキーをつかむ前に、これをフォームレベルでキャッチできます。フォームの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);
    }
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top