Al desarrollar una aplicación WinForms, me encontré con lo que creo que es un error en los controles OpenFileDialog y SaveFileDialog. Una búsqueda en Google encontró a otra persona que notó el mismo problema, pero no se proporcionó una solución ni una solución. Puede ver este hilo en: http://bytes.com/topic/visual-basic-net/answers/389470-open-file-dialog-picturebox-click-event.FileDialog DoubleClick Behavior
Tengo un control personalizado en mi formulario que maneja el evento MouseDown. Si hago doble clic en un archivo en un control FileDialog mientras el mouse está sobre este control (con el diálogo entre ellos, obviamente), el evento MouseDown se activa. No creo que esto sea un problema para mi control, porque la persona que mencioné antes notó que esto sucedía con un control PictureBox. Parecería que, aunque se presionó el botón del mouse (durante el segundo clic para abrir el archivo) mientras estaba en el cuadro de diálogo, el evento pasó al formulario y a mi control cuando se cerró el cuadro de diálogo.
He intentado deshabilitar mi control mientras el cuadro de diálogo está activo, pero eso no impidió que se capturara el evento. Supongo que esto se debe a que el evento se transmite después de que se cierra el cuadro de diálogo, por lo que mi control se volvería a habilitar. ¿Alguien sabe de una forma de evitar que ese clic llegue al formulario y, a su vez, a mi control? Además, ¿alguien puede confirmar si esto realmente es un error en los controles FileDialog, o si solo tengo alguna configuración configurada incorrectamente?
Llamo a base.OnMouseDown (e) desde mi controlador OnMouseDown (MouseEventArgs e) anulado. Intenté llamarlo tanto antes (en la parte superior de) como después (en la parte inferior de) mi controlador, pero ninguna de las posiciones parece tener ningún efecto sobre el problema. Tendré que mirar más detenidamente la cola de eventos y ver si puedo encontrar algo allí. –