openFileDialog.ShowDialog()没有显示对话框

时间:2016-06-29 08:12:56

标签: c# wpf openfiledialog

我尝试打开系统文件对话框以选择图片。代码在我的电脑中正常运行。但在另一台计算机上无法显示系统文件对话框。

这是我的简单代码: -

private void PicInputBtn_Click(object sender, RoutedEventArgs e)
{
    var dialog = new Microsoft.Win32.OpenFileDialog
    {
        DefaultExt = ".jpg",
        Filter = "img file|*.jpg",
    };

    if (dialog.ShowDialog() != true)
    {
        return;
    }
}

2 个答案:

答案 0 :(得分:0)

将您的代码更改为:

private void PicInputBtn_Click(object sender, RoutedEventArgs e)
{
    var dialog = new Microsoft.Win32.OpenFileDialog
    {
        DefaultExt = ".jpg",
        Filter = "img file|*.jpg" // You had an extra ',' here.
    };

    if ((Nullable<bool>dialog.ShowDialog()) == true) // Also you forgot to put Nullable<bool>
    {
        // string filename = dlg.FileName;
    }
    else
    {
        return;
    }
}

答案 1 :(得分:0)

如果没有任何反应,但鼠标指针会变成一个忙碌的指示灯。

您可以尝试将线程设置为STAThread

[STAThread]    
static void Main(string[] args)
{
    var o = new OpenFileDialog();
    var r = o .ShowDialog();
}

然而,他们有很多原因可以打破OpenFileDialog,您可以尝试以管理员模式启动程序并尝试重新安装.net Framework