openfiledidialog . showdialog()没有显示对话框
本文关键字:显示 对话框 showdialog openfiledidialog | 更新日期: 2023-09-27 17:53:21
我尝试打开系统文件对话框来选择一个pic。代码在我的电脑上运行正常。但是在另一台计算机上不能显示系统文件对话框。
下面是我的简单代码:-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;
}
}
如果什么都没发生,只是鼠标指针变成了一个小小的忙碌指示器。
你可以尝试将你的线程设置为STAThread
:
[STAThread]
static void Main(string[] args)
{
var o = new OpenFileDialog();
var r = o .ShowDialog();
}
然而,有很多原因可以打破OpenFileDialog
,你可以尝试在管理模式下启动你的程序,并尝试重新安装。net Framework
修改代码为:
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;
}
}