que actualmente tienen un C# winforms aplicación con Ctrl + C y Ctrl + V obligado como atajos de teclado en el menú principal Editar. Existe algún comportamiento de copiar/pegar dentro del código que responde a estos elementos del menú, como copiar y pegar filas en listviews.copia personalizada/comportamiento de pasta con C# winforms al tiempo que permite editar el texto de copiar/pegar
Sin embargo, mi problema es que puede editar texto dentro de una fila, y cuando lo hace, quiero que Ctrl + C y Ctrl + V no activen el comando del menú de edición y prefieran la copia de texto normal /pegar.
Una cosa que probé está desencadenando eventos BeforeLabelEdit y AfterLabelEdit, y de forma manual deshabilitar/volver a habilitar los elementos de menú desde el interior de allí. Desafortunadamente, parece que un atajo de teclado en un elemento de menú desactivado todavía desencadena el evento menu_Popup, que se utiliza actualmente para decidir qué elementos del menú deben habilitarse/deshabilitarse. (Por ejemplo, "Pegar" solo está activo si hay texto en el portapapeles). Así que incluso si deshabilito el elemento del menú, el atajo de teclado todavía activará el evento Popup, que volverá a habilitar el elemento del menú. (¿Esto es un error?)
No encuentro ningún método para deshabilitar temporalmente un atajo de teclado de elementos de menú sin almacenar manualmente el acceso directo anterior, estableciendo el acceso directo como nulo, y luego copiándolo cuando necesito volver a habilitarlo (que se siente sucio).
preponderantes con Seguramente el comportamiento de copiar/pegar, o la adición a la misma, es una cosa normal que desee hacer? ¿Hay un mejor patrón para usar aquí?
ovveriding copy paste suena como una mala idea para mí. estoy acostumbrado a 'copiar/pegar' siempre funciona igual en todas las aplicaciones. tu aplicación me confundirá. pero si insiste, ¿por qué no verifica el enfoque? si el foco está en su cuadro de texto, una copia pegar si no lo hace la otra – Nahum
Nuestro comportamiento personalizado de copiar/pegar solo trata con copiar y pegar filas cuando no está editando texto.Quiero el comportamiento de copiar/pegar por defecto cuando está editando texto. –
Borrar la tecla de método abreviado del menú es la forma más fácil. Otras alternativas serán 'más sucias'. –