trato de usar la FolderBrowserDialog de WPF como esto:FolderBrowserDialog - Win32Exception ocurrió - el parámetro es incorrecto
public static bool BrowseFolder(out string folderName)
{
using (System.Windows.Forms.FolderBrowserDialog dlg = new System.Windows.Forms.FolderBrowserDialog())
{
var result = dlg.ShowDialog();
folderName = dlg.SelectedPath;
return result == System.Windows.Forms.DialogResult.OK;
}
}
Cuando se utiliza "Break on excepción" en Visual Studio 2010 obtengo una excepción después de cerrar el diálogo en la llamada ShowDialog(). Tengo curiosidad por qué ocurre esto.
Excepción: Win32Exception
Mensaje: El parámetro es incorrecto
StackTrace: en MS.Win32.UnsafeNativeMethods.SetFocus (HandleRef CVent)
actualización
También traté de establecer la matriz de forma explícita, pero la excepción fue lanzada de todos modos.
var w = new System.Windows.Interop.WindowInteropHelper(parent);
System.Windows.Forms.IWin32Window i = new WindowWrapper(w.Handle);
result = dlg.ShowDialog(i);
¿Hay algo más en esto? ¿Utiliza alguna otra forma en su aplicación? Probar esto en una aplicación WPF en blanco no genera excepciones y funciona bien. –
Creé una aplicación de prueba vacía con solo esa función y una llamada a esa función y se produce la excepción. Debe activar "Break on exception" en Visual Studio 2010 para ver la aplicación (Depurar-> Excepciones ...-> Casillas de verificación) – testalino
Debe mostrar el valor de la propiedad StackTrace de la excepción. –