Bei der Entwicklung einer WinForms-Anwendung bin ich auf einen Fehler in den OpenFileDialog- und SaveFileDialog-Steuerelementen gestoßen, von dem ich glaube, dass er vorliegt. Eine Google-Suche ergab eine einzige andere Person, die das gleiche Problem bemerkt, aber weder eine Lösung noch eine Umgehung zur Verfügung gestellt wurde. Sie können diesen Thread ansehen unter: http://bytes.com/topic/visual-basic-net/answers/389470-open-file-dialog-picturebox-click-event .
Ich habe ein benutzerdefiniertes Steuerelement auf meinem Formular, das das MouseDown-Ereignis behandelt. Wenn ich einen Doppelklick auf eine Datei in einem FileDialog-Steuerelement, während die Maus über dieses Steuerelement (mit dem Dialog zwischen ihnen, offensichtlich) ist, wird das MouseDown-Ereignis ausgelöst. Ich glaube nicht, dass dies ein Problem mit meinem Steuerelement ist, denn die Person, die ich zuvor erwähnte, bemerkte, dass dies mit einem PictureBox-Steuerelement passiert. Es scheint, dass, obwohl die Maustaste gedrückt wurde (für den zweiten Klick, um die Datei zu öffnen), während auf dem Dialogfeld, das Ereignis durch das Formular und mein Steuerelement übergeben, wenn der Dialog geschlossen.
Ich habe versucht, mein Steuerelement zu deaktivieren, während das Dialogfeld aktiv ist, aber das hat nicht verhindert, dass das Ereignis erfasst wird. Ich nehme an, dies ist, weil das Ereignis nach dem Schließen des Dialogs weitergegeben wird, so dass mein Steuerelement wieder aktiviert werden würde. Kennt jemand einen Weg, um zu verhindern, dass der Klick das Formular und damit mein Steuerelement erreicht? Kann mir jemand bestätigen, ob dies wirklich ein Fehler in den FileDialog-Steuerelementen ist, oder ob ich nur eine Einstellung falsch konfiguriert habe?