ToolStripComboBoxのタブキーを処理します
-
04-10-2019 - |
質問
ツールストリップにツールストリップコンボボックスがあり、タブキーを押すと、次のツールストリップボタンに焦点を当てます。この動作を変更し、代わりに自分のフォームの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);
}
所属していません StackOverflow