- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我需要为 1000 种文件类型 (*.000 - *.999) 打开文件对话框。但是将它添加到过滤器中,对话框在选择文件类型时变得非常慢。我可以做些什么来加快速度吗?
string text;
for (int i = 0; i <= 999; i++)
{
text.Append("*." + i.ToString("000") + "; ");
}
string textWithoutLastSemicolumn = text.ToString().Substring(0, text.ToString().Length - 2);
dialog.Filter = "Files (" + textWithoutLastSemicolumn + ")|" + textWithoutLastSemicolumn;
最佳答案
如果您受困于这些扩展,我可以看到 2 种可能的解决方案。要么接受这个相当快但不是 100% 正确的解决方案:
ofd.Filter = "Supported extensions | *.0??;*.1??;*.2??;*.3??;*.4??;*.5??;*.6??;*.7??;*.8??;*.9??";
这将接受您的所有扩展名,但也接受诸如 .0a1、.99y 等值。如果您知道这些文件扩展名在您的情况下不会成为问题,那么这可能是一个不错的选择。
另一种解决方案可能是自己实现 OpenFileDialog 并支持正则表达式作为过滤器。这将是性能和安全方面最好的解决方案,但我不知道它会有多难。
关于c# - 具有许多扩展的 OpenFileDialog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31803810/
据我们所知,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
我是一名优秀的程序员,十分优秀!