每当我调用folderbrowserdialog.showDialog()时,我的应用程序崩溃了。 我正在使用之前为我工作的代码,所以它不能是代码。
try
{
FolderBrowserDialog fbd = new FolderBrowserDialog();
fbd.RootFolder = Environment.SpecialFolder.Desktop;
if (fbd.ShowDialog() == DialogResult.OK)
{
// this.Minecraft.Text = fbd.SelectedPath;
}
}
catch
{
}
它没有抛出任何错误,也没有异常,只是弹出小加载圈,然后应用程序消失了,我之前也注意到了它与不同的.NET应用程序!
btw:将重新安装.net 4工作吗?
答案 0 :(得分:4)
尝试将此添加到您的应用程序中(最好在Main()
方法的开头)。查看在达到冻结点时,exceptions.txt文件是否有任何例外记录。
AppDomain.CurrentDomain.FirstChanceException += (sender, e) =>
{
if ((e == null) || (e.Exception == null))
{
return;
}
using (var sw = File.AppendText(@".\exceptions.txt"))
{
sw.WriteLine(e.ExceptionObject);
}
};
AppDomain.CurrentDomain.UnhandledException += (sender, e) =>
{
if ((e == null) || (e.ExceptionObject == null))
{
return;
}
using (var sw = File.AppendText(@".\exceptions.txt"))
{
sw.WriteLine(e.ExceptionObject);
}
};
答案 1 :(得分:1)
FolderBrowserDialog
我遇到了同样的问题,找到了source of evilness。评论/取消注释[STAThread]
并查看差异:
using System;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
static class Program
{
//[STAThread]
static void Main()
{
new FolderBrowserDialog().ShowDialog();
}
}
}
答案 2 :(得分:0)
你应该了解的另一件关于FolderBrowserDialog,SaveFileDialog,OpenFileDialog的事情是,如果你从可执行文件属性的兼容性选项卡上“禁用可视主题”,它们就不起作用。
答案 3 :(得分:0)
希望这有助于某人 - 我实际上遇到了这个问题,结果我不小心将DialogResult分配给了FolderBrowserDialog启动的按钮!因此,无论何时代码执行完毕,它都会返回'取消'的DialogResult。到CLR并终止我的程序。检查' DialogResult' Visual Studio中用于打开对话框的按钮的属性 - 确保将其设置为“无”。