Durante lo sviluppo di un'applicazione WinForms, mi sono imbattuto in quello che ritengo sia un bug nei controlli OpenFileDialog e SaveFileDialog. Una ricerca su Google ha rilevato un'altra persona che ha notato lo stesso problema, ma non è stata fornita né una soluzione né una soluzione alternativa. È possibile visualizzare questo thread a: http://bytes.com/topic/visual-basic-net/answers/389470-open-file-dialog-picturebox-click-event.FileDialog DoubleClick Behavior
Ho un controllo personalizzato sul mio modulo che gestisce l'evento MouseDown. Se faccio doppio clic su un file in un controllo FileDialog mentre il mouse si trova su questo controllo (con la finestra di dialogo tra loro, ovviamente), viene attivato l'evento MouseDown. Non penso che questo sia un problema con il mio controllo, perché la persona che ho menzionato prima ha notato che questo sta accadendo con un controllo PictureBox. Sembrerebbe che anche se il pulsante del mouse fosse premuto (per il secondo clic per aprire il file) mentre si trovava nella finestra di dialogo, l'evento passava al modulo e al mio controllo quando la finestra di dialogo si chiudeva.
Ho provato a disattivare il mio controllo mentre la finestra di dialogo è attiva, ma ciò non ha impedito di catturare l'evento. Presumo che questo sia dovuto al fatto che l'evento viene passato dopo che la finestra di dialogo si è chiusa, quindi il mio controllo sarebbe stato riattivato. Qualcuno sa di un modo per impedire che il clic raggiunga il modulo e, a sua volta, il mio controllo? Inoltre, qualcuno può confermare se questo è veramente un bug nei controlli di FileDialog, o se ho solo qualche impostazione configurata in modo errato?
Sto chiamando base.OnMouseDown (e) dall'interno del mio gestore OnMouseDown (MouseEventArgs e) sovrascritto. Ho provato a chiamarlo sia prima (all'inizio di) che dopo (in fondo) il mio gestore, ma nessuna delle due posizioni sembra avere alcun effetto sul problema. Dovrò controllare la coda degli eventi più da vicino e vedere se riesco a trovare qualcosa lì. –