visual studio setters getters example and c# textbox shortcut

example - getters and setters c# visual studio



C#textbox disable shortcuts (3)

utilizo un cuadro de texto dentro de mi aplicación de formulario de Windows y necesito deshabilitar los accesos directos CTRL + I y CTRL + H. Intenté muchas soluciones diferentes que encontré a través de google pero no funcionará.

Utilizo CTRL + I como atajo personalizado en mi aplicación y no quiero que se inserte una tabstop con este comando dentro de mi cuadro de texto. Por alguna razón, CTRL + H actúa como presionar borrar?

Si configuro "Accesos directos habilitados" en falso en las propiedades del control, CTRL + I y CTRL + H siguen funcionando. CTRL + C o CTRL + V está deshabilitado entonces. Me gustaría esperar que todos los accesos directos estén desactivados si configuro "Accesos directos habilitados" en falso.

Probé el siguiente código que encontré en alguna parte pero tampoco evita CTRL + I o CTRL + H

private void textBoxComment_KeyDown(object sender, KeyEventArgs e) { if ( e.Modifiers == Keys.Control ) { switch(e.KeyCode) { case Keys.C: case Keys.X: case Keys.V: case Keys.Z: case Keys.I: case Keys.H: e.Handled = true; break; default: break; } } }


Intente agregar e.SuppressKeyPress = true también:

private void textBoxComment_KeyDown(object sender, KeyEventArgs e) { if ( e.Modifiers == Keys.Control ) { switch(e.KeyCode) { case Keys.C: case Keys.X: case Keys.V: case Keys.Z: case Keys.I: case Keys.H: e.Handled = true; e.SuppressKeyPress = true; break; default: break; } } }


Intente anular la función ProcessCmdKey :

protected override bool ProcessCmdKey(ref Message msg, Keys keyData) { if ((keyData & Keys.Control) > 0 && (keyData & Keys.KeyCode) == Keys.V) { return true; } return base.ProcessCmdKey(ref msg, keyData); }


Utilice la propiedad shortcutsenabled para que pueda ser más selectivo al excluir accesos directos del mouse y del teclado.

TextBox.ShortcutsEnabled = false;

Referencia msdn Utilice la propiedad ShortcutsEnabled para habilitar o deshabilitar las siguientes combinaciones de teclas de método abreviado y el menú contextual del control: CTRL + Z CTRL + E CTRL + C CTRL + Y CTRL + X CTRL + RETROCESO CTRL + V CTRL + ELIMINAR CTRL + A SHIFT + ELIMINAR CTRL + L MAYÚS + INSERTAR CTRL + R