Beim Entwickeln einer WinForms-Anwendung bin ich auf einen Fehler in den Steuerelementen OpenFileDialog und SaveFileDialog gestoßen. Bei einer Google-Suche wurde eine einzige Person gefunden, die das gleiche Problem bemerkt hat, aber weder eine Lösung noch eine Problemumgehung wurde bereitgestellt. Sie können diesen Thread anzeigen unter: http://bytes.com/topic/visual-basic-net/answers/389470-open-file-dialog-picturebox-click-event.FileDialog DoubleClick Verhalten
Ich habe ein benutzerdefiniertes Steuerelement in meinem Formular, das das MouseDown-Ereignis behandelt. Wenn ich eine Datei in einem FileDialog-Steuerelement doppelklicke, während sich die Maus über diesem Steuerelement befindet (mit dem Dialog zwischen ihnen offensichtlich), wird das MouseDown-Ereignis ausgelöst. Ich glaube nicht, dass dies ein Problem mit meiner Kontrolle ist, da die Person, die ich bereits erwähnt habe, dies mit einem PictureBox-Steuerelement bemerkt hat. Es scheint, dass, obwohl die Maustaste gedrückt wurde (für den zweiten Klick, um die Datei zu öffnen) während des Dialogfelds, das Ereignis an das Formular und mein Steuerelement übergeben wurde, wenn der Dialog geschlossen wurde.
Ich habe versucht, meine Kontrolle zu deaktivieren, während das Dialogfeld aktiv ist, aber das hat es nicht davon abgehalten, das Ereignis zu erfassen. Ich gehe davon aus, dass das Ereignis nach dem Schließen des Dialogfelds übergeben wird, sodass meine Kontrolle wieder aktiviert wird. Kennt jemand einen Weg, um zu verhindern, dass der Click das Formular und damit auch meine Kontrolle erreicht? Kann jemand bestätigen, wenn das wirklich ein Fehler in den FileDialog-Steuerelementen ist, oder wenn ich nur einige Einstellungen falsch konfiguriert habe?
Ich rufe base.OnMouseDown (e) aus meinem überschriebenen OnMouseDown (MouseEventArgs e) -Handler auf. Ich habe versucht, es sowohl vor (an der Spitze) als auch nach (unten) meinem Handler zu nennen, aber keine der beiden Positionen scheint irgendeine Auswirkung auf das Problem zu haben. Ich muss genauer in die Ereigniswarteschlange schauen und schauen, ob ich dort etwas finden kann. –