- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我一直在网上搜索,不幸的是从来没有遇到过像我这样的问题,所以这里是:
我的 C# WPF 应用程序不会显示任何 OpenFileDialogs 或 SafeFileDialogs。
private void btnBrowseNet_Click(object sender, RoutedEventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.CheckPathExists = true;
ofd.Multiselect = false;
ofd.Title = "Open Network Configuration Batch file...";
ofd.ValidateNames = true;
ofd.Filter = "Comma Seperated Value Files|*.csv";
if (ofd.ShowDialog() == true)
{
//...
}
}
这个确切的代码有一次做了它应该做的事情,不到五分钟后我可以点击我想要的按钮,除了鼠标指针变成一个小忙指示器之外没有任何反应,然后什么也没有。我可以单步执行该方法或执行类似的操作
bool? shown = ofd.ShowDialog();
但是无论如何,对话框都不会显示。当然,shown 在这种情况下将是错误的。昨天我浪费了一个半小时的时间进行搜索,就在我退出的时候,我又试了一次,突然之间就成功了。有时有效,有时无效。但这似乎是特定于项目的,因为我可以将相同的代码粘贴到一个新项目中,并且它的工作方式与预期的一样。此外,这是该项目唯一看起来可疑的地方。其他一切都按预期工作。
这里有没有人经历过类似的事情,从而知道我到底能做什么?我们将不胜感激任何帮助。
最佳答案
OpenFileDialog 有大量可能的故障模式。使用一个将您的应用程序暴露给安装在您机器上的几乎任何 shell 扩展。其中许多可能非常不稳定,扩展作者不太可能检查它是否在 WPF 进程中正常工作。
通过运行 SysInternals 的 AutoRuns 实用程序解决这个问题。单击资源管理器选项卡并查找名称中包含“ShellEx”的组。取消选中任何非 Microsoft 发布的内容。重启查看问题是否解决。
关于C#、WPF - OpenFileDialog 不出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2201227/
据我们所知,WPF OpenFileDialog 不再更改应用程序的工作目录,并且 RestoreDirectory 属性“未实现”。但是,在后续打开时,其初始目录默认为上次打开的文件而不是原始工作目
据我们所知,WPF OpenFileDialog 不再更改应用程序的工作目录,并且 RestoreDirectory 属性“未实现”。但是,在后续打开时,其初始目录默认为上次打开的文件而不是原始工作目
当我使用这段代码打开一个文件时 if (ofd.ShowDialog() == DialogResult.OK) text = File.ReadAllText(ofd.FileName,
每个文本框旁边有 2 个文本框和 2 个按钮 [...]。是否可以使用一个 OpenFileDialog 并将 FilePath 传递到相应的文本框,基于单击哪个按钮?即...如果我单击第一个按钮并打
我已将 Multiselect 设置为 true 以便能够一次加载多个文件。问题在于它忽略了用户选择文件的顺序,FileNames 列表始终相同(如果我以不同的顺序选择同一组文件)。 我的问题是:是否
我有一个 OpenFileDialog,当用户第一次使用该应用程序时,它应该打开一个特定的路径,比如 %ProgramData%。对于所有连续的术语,它应该打开最后使用的文件夹。 我试过:
我正在尝试完成我的静态 Prompt 类,以便能够从任何地方调用它。但问题是无法使对话框显示。我已经在使用 [STAThread],这是我的代码。 public static string ShowF
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topi
我想知道如何在c#的打开对话框中过滤掉所有不是txt文件的文件。我已经玩这个很久了,但没有任何乐趣。 最佳答案 使用过滤器属性:MSDN Filter 这是关于如何自定义 OpenFile Dialo
我正在使用 C# 开发 winforms 应用程序。我想要实现的是从我使用以下代码的用户那里获取一个文件: OpenFileDialog dlg = new OpenFileDialog(); if
我有这个简单的代码: private void buttonOpen_Click(object sender, EventArgs e) { if (openFileDialog1.ShowD
我的 C# 程序中有以下代码: OpenFileDialog fDialog = new OpenFileDialog(); fDialog.Title = "Open
我在我的 Silverlight 应用程序中使用 OpenFileDialog()。当我使用 ShowDialog() 选择一个文件时,它只是锁定该文件,直到我关闭我的应用程序。 我无法在应用程序运行
我的应用程序的静态 dll 模块中有 WinForms UI 代码。主窗体有一个对话框窗体,当用户需要更改文件路径时调用openfiledialog。如果我在主线程中创建主 winform 对象,那么
如何允许 OpenFileDialog 选择已在另一个应用程序中打开的文件? 目前它不允许我选择一个已经打开的文件。我只需要文件路径,我实际上并没有尝试打开文件(因为它已经打开)但是 OpenFile
我在 WinForms 应用程序中使用 OpenFileDialog,但在调用 OpenFileDialog.ShowDialog( )。 该功能完全按预期运行。问题是在 OpenFileDialog
我想存储在我的字符串数组中选择的文件名。 代码: if (openFileDialog.ShowDialog() == DialogResult.OK) string filename
我想实现一个打开文件对话框或文件浏览器,另外提供一个“预览”按钮来播放当前选择的声音文件(特别是波形格式,此应用程序不需要其他格式)。 我可以使用各种控件(如 TreeView 和列表框)创建自己的表
对于 DLP 软件的一个非常特殊的要求,我正在尝试检测 OpenFileDialogs 并在捕获所选文件后取消文件选择操作。 我该怎么做? 我在鼠标和键盘上放置了一个全局钩子(Hook)。我检测到用户
选择 .dll 文件并按 OK 后,浏览对话框将关闭并重新打开。在它再次打开并按 OK 后,它会毫无问题地取值。 这是我的代码 private void btnBrowse_Click(object
我是一名优秀的程序员,十分优秀!