pensé que resolvió este problema por mí mismo, sino que se volvió contra mi solicitud así que aquí va:no puede detectar un acceso directo Ctrl + Tecla de eventos keydown cada vez que hay un cuadro de texto de sólo lectura con el foco
tengo el controlador de eventos siguiente keydown registrado en un formulario con un par de cuadros de texto con discapacidad y de sólo lectura y que son sólo accesos sencillos para los botones:
private void AccountViewForm_KeyDown(object sender, KeyEventArgs e)
{
//e.SuppressKeyPress = true;
//e.Handled = true;
if (Control.ModifierKeys == Keys.Control && e.KeyCode == Keys.E && !isInEditMode)
btnEditMode_Click(sender, e);
if (Control.ModifierKeys == Keys.Control && e.KeyCode == Keys.S && isInEditMode) btnEditMode_Click(sender, e);
if (e.KeyCode == Keys.Escape) btnCancel_Click(sender, e);
if (Control.ModifierKeys == Keys.Control && e.KeyCode == Keys.W) Close();
}
forma tiene TeclaDePresentaciónPreliminar se define como true, pero cada vez que un cuadro de texto de sólo lectura tiene el foco y presiono Ctrl + E no puedo hacer que "Control.ModifierKeys == Keys.Control" y "e.KeyCode == Keys.E" sean ambos verdaderos al mismo tiempo. Lo que es realmente extraño es que Ctrl + W funciona. Alguien tiene alguna idea de qué diablos está pasando? :(
Me doy cuenta de que esto es viejo. Su código hace referencia a "Control.ModifierKeys". Probablemente debería ser "e.Modifiers". – Metro