Pregunta

Me estoy encontrando con un problema extraño y parece que tengo que perseguir a la siguiente causa raíz. Entorno C# (.NET 2.0):

Mi código está utilizando el marco de algún proveedor y en el momento abre un diálogo modal. Parece que el marco se está filtrando en las KeyPresses "Enter" de la aplicación (probablemente implementando iMessageFilter). Como consecuencia, cerrar mi diálogo presionando el botón "OK" conduce a un comportamiento extraño: el cierre a través del clic del mouse en "OK" funciona bien. Desafortunadamente, cambiar el código del marco no es una opción. Por lo tanto, me gustaría deshabilitar que los avisos del marco "ingresen" (y probablemente "ESC") KeyPresses en mi diálogo. ¿Alguien sabe cómo se puede hacer esto?

EDITAR:

"Resolví" el problema. Consulte la respuesta aceptada a continuación.

¿Fue útil?

Solución

"Resolví" el problema. Aquí está la solución para la referencia futura: establecer la propiedad FormBorderStyle de formulario (que se creó en el cuadro de diálogo modal) en FormBorderStyle.fixedDialog resolvió el problema. Sí, este es un caso típico de programación de cultivo de carga, pero después de una prueba exhaustiva, la solución funciona de manera confiable.

Otros consejos

Haga un archivo JavaScript que se actúe en la tecla Ingreso que se presiona, haga que ejecute el evento OK en su modal. Solo asegúrese de que su JavaScript esté por encima de todos los otros JavaScript en la aplicación de aplicaciones y primero debe disparar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top