tecla de tabulación mango en ToolStripComboBox
-
04-10-2019 - |
Pregunta
Tengo un ToolStripComboBox en un ToolStrip, y cuando se presiona tecla TAB en ella, que sitúa el foco en el botón situado junto toolstrip. Me gustaría cambiar este comportamiento y el foco a una RichTextBox en mi formulario en su lugar.
El problema es que ToolStripComboBox no tiene caso PreviewKeyDown. Y PreviewKeyDown de la barra de herramientas ToolStrip de alojamiento no se llama cuando se presiona la tecla Tab en el combo (justo cuando se presiona y algunos ToolStripButton está enfocada).
PuntoDeTabulación de la barra de herramientas toolstrip es falso.
¿Alguna idea?
Solución
Puede capturar esta a nivel del formulario, antes del control ToolStrip agarra la llave. Reemplazar el método del formulario ProcessCmdKey (), hacer que se vea similar a esto:
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);
}