FolderBrowserDialog - Win32Exception ist aufgetreten - Der Parameter ist falsch

8

Ich versuche, FolderBrowserDialog von WPF wie folgt zu verwenden:

%Vor%

Beim Verwenden von "break on exception" in Visual Studio 2010 erhalte ich eine Exception, nachdem ich den Dialog im ShowDialog () - Aufruf geschlossen habe. Ich bin neugierig, warum das passiert.

Ausnahme: Win32Exception
Nachricht: Der Parameter ist falsch Stacktrace: bei MS.Win32.UnsafeNativeMethods.SetFocus (HandleRef hWnd)

Aktualisieren
Ich habe auch versucht, das Elternteil explizit zu setzen, aber die Ausnahme wurde trotzdem geworfen.

%Vor%     
testalino 09.08.2010, 10:09
quelle

3 Antworten

9

Dies ist nur ein wenig Interop-Bosheit. Der WPF-Code versucht, den Fokus auf das Hauptfenster zurückzusetzen, wenn das Dialogfeld geschlossen wird. Problem ist, der Dialog hat das Fenster deaktiviert, so dass es den Fokus noch nicht erhalten kann. WPF ist zu eifrig, den Fokus zu ändern und weiß nichts über das Dialogverhalten. Nichts geht wirklich schief.

    
Hans Passant 09.09.2011 17:58
quelle
0

Ich würde es versuchen, ohne die Anweisung "using" zu benutzen, vielleicht wird es zu schnell aufgeräumt.

    
Jason Stevenson 09.09.2011 16:52
quelle
-1
___ answer7364936 ___

Ich würde es versuchen, ohne die Anweisung "using" zu benutzen, vielleicht wird es zu schnell aufgeräumt.

    
___ answer7365579 ___

Dies ist nur ein wenig Interop-Bosheit. Der WPF-Code versucht, den Fokus auf das Hauptfenster zurückzusetzen, wenn das Dialogfeld geschlossen wird. Problem ist, der Dialog hat das Fenster deaktiviert, so dass es den Fokus noch nicht erhalten kann. WPF ist zu eifrig, den Fokus zu ändern und weiß nichts über das Dialogverhalten. Nichts geht wirklich schief.

    
___ qstnhdr ___ FolderBrowserDialog - Win32Exception ist aufgetreten - Der Parameter ist falsch ___ tag123c ___ C # (sprich "Cis") ist eine objektorientierte Programmiersprache auf hohem Niveau, die für die Erstellung einer Vielzahl von Anwendungen entwickelt wurde, die auf dem .NET Framework (oder .NET Core) ausgeführt werden. C # ist einfach, leistungsfähig, typsicher und objektorientiert. ___ tag123wpf ___ Windows Presentation Foundation oder WPF ist ein Subsystem zum Rendern von Benutzeroberflächen in Windows-basierten Anwendungen. ___ antwort5951454 ___

Ich glaube, Sie brauchen einen Windows Forms-Host, um irgendetwas aus dem Windows.Forms-Namespace auszuführen ... probieren Sie es aus!

    
___ qstntxt ___

Ich versuche, FolderBrowserDialog von WPF wie folgt zu verwenden:

%Vor%

Beim Verwenden von "break on exception" in Visual Studio 2010 erhalte ich eine Exception, nachdem ich den Dialog im ShowDialog () - Aufruf geschlossen habe. Ich bin neugierig, warum das passiert.

Ausnahme: Win32Exception
Nachricht: Der Parameter ist falsch Stacktrace: bei MS.Win32.UnsafeNativeMethods.SetFocus (HandleRef hWnd)

Aktualisieren
Ich habe auch versucht, das Elternteil explizit zu setzen, aber die Ausnahme wurde trotzdem geworfen.

%Vor%     
___
Faizan Kazi 10.05.2011 14:16
quelle

Tags und Links