Tag: openfiledialog

为什么在单击ToolStrip按钮两次时抛出NullReferenceException – openFileDialog.showDialog()?

我创建了一个干净的WindowsFormsApplication解决方案,在主窗体上添加了一个ToolStrip ,并在其上放置了一个按钮。 我还添加了一个OpenFileDialog ,因此ToolStripButton的Click事件如下所示: private void toolStripButton1_Click(object sender, EventArgs e) { openFileDialog1.ShowDialog(); } 我没有改变任何其他属性或事件。 有趣的是,当我双击ToolStripButton (第二次单击必须非常快,在对话框打开之前),然后取消两个对话框(或选择一个文件,它并不重要),然后单击客户端主窗体的区域, NullReferenceException崩溃应用程序(post末尾附加的错误详细信息)。 请注意, Click事件是在DoubleClick未执行时实施的 。 更奇怪的是,当OpenFileDialog被任何用户实现的表单替换时, ToolStripButton 阻止被点击两次 。 我在Windows 7 Professional (来自MSDNAA)上使用VS2008和.NET3.5进行最新更新。 我没有在VS中更改很多选项(只有fontsize,工作区文件夹和行编号)。 有谁知道如何解决这个问题? 它在我的机器上是100%可复制的,是否也在其他机器上? 我能想到的一个解决方案是在调用OpenFileDialog.ShowDialog()然后再启用按钮之前禁用该按钮(但这并不好)。 还有其他想法吗? 现在承诺的错误细节: System.NullReferenceException未处理 Message =“对象引用未设置为对象的实例。” 来源= “System.Windows.Forms的” 堆栈跟踪: 在System.Windows.Forms.NativeWindow.WindowClass.Callback(IntPtr hWnd,Int32 msg,IntPtr wparam,IntPtr lparam) 在System.Windows.Forms.UnsafeNativeMethods.PeekMessage(MSG&msg,HandleRef hwnd,Int32 msgMin,Int32 msgMax,Int32 remove) 在System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID,Int32 reason,Int32 pvLoopData) 在System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 […]

C#WPF OpenFileDialog导致XP崩溃,而不是Vista

我有一个WPF应用程序,可以在我的Vista开发机器上正常运行,但不能在生产XP机器上运行。 唯一的问题是调用OpenFileDialog.Show()。 一旦我调用该方法,应用程序就会在XP框上终止。 该问题不会触发exception。 (我在try-catch块中包围了块无效。)当我单击File->打开应用程序时,在XP中退出。 有趣的是,我可以使用File-> Save并使用Save As对话框将文件写入磁盘。 我已经尝试将其构建为.Net 3.0和3.5但它并没有什么区别。 我已经尝试过Microsoft.Win32.OpenFileDialog和System.Windows.Forms.OpenFileDialog并获得完全相同的症状。 Microsoft.Win32变体的代码块: 尝试 { OpenFileDialog ofd = new OpenFileDialog(); if(ofd.ShowDialog()。Value) { //做一点事 } } catch(Exception ex) { MessageBox.Show(ex.ToString(),“Error!”); } 我有的唯一线索是来自安全事件日志的以下(部分)条目。 事件类型:失败审核 事件来源:安全 事件类别:对象访问 事件ID:560 描述: 对象打开: 对象服务器:安全性 对象类型:密钥 对象名称:\ REGISTRY \ MACHINE \ SOFTWARE \ Microsoft \ EnterpriseCertificates \ Disallowed 访问:DELETE READ_CONTROL WRITE_DAC WRITE_OWNER 查询键值 […]

C#OpenFileDialog中的Stackoverflow / CLR错误

下面的代码是我悲伤的一个(三个)例子。 这是一个简单的OpenFileDialog()调用,导致程序崩溃。 在XP上,如果对话框保持打开几秒钟,则会发生崩溃。 在Vista上,如果用户选择“我的电脑”,则会发生崩溃。 在VS2008中,调试器有时会捕获stackoverflowexception。 如果我在第一行(新…)中放置一个断点,vshost.exe崩溃。 如果我在ShowDialog()行放置一个断点,我会得到一个FatalExecutionEngineError。 如果我在没有vshost的情况下编译,应用程序将运行直到随机崩溃(如在XP上 – 有一些时间)。 还有另外两个打开的对话框可以打开不同类型的文件,这三个文件都具有相同的行为。 类似的代码在我的其他项目中没有显示相同的行为。 线程公寓是单身。 我试过设置ValidateNames = false。 在大多数情况下,调试器正在脱离深层。 OpenFileDialog imageDlg = new OpenFileDialog(); imageDlg.Filter = “All Images|*.jpg;*.jpeg;*.png;*.tif;*.tiff;*.bmp|All Files|*.*|JPEGs (*.jpg)|*.jpg|PNGs (*.png)|*.png|TIFFs (*.tiff)|*.tiff|TIFFs (*.tif)|*.tif|BMPS (*.bmp)|*.bmp”; imageDlg.Title = “Select Scan Image”; if (DialogResult.OK == imageDlg.ShowDialog()) { updateImageDisplay(); } 事件处理程序代码 // // setScratchImageButton // this.setScratchImageButton.Location = new System.Drawing.Point(191, 15); this.setScratchImageButton.Name […]

C#对话框选择多个文件和文件夹

可能重复: 用于选择多个文件和文件夹.NET的必需对话框 我正在搜索一个对话框,允许用户只在一个对话框中选择多个文件和文件夹。 我已经搜索过互联网,但没有好运找到一些可以解决问题的东西,只有适用于C ++的东西。 如果那里已有答案,请纠正我,因为我已经认真花时间试图找到一个已解决的问题。 我很感激你的帮助!

尝试使用C#中的新IFileDialog和IFileOpenDialog接口打开文件对话框,使用最少的代码

我正在尝试使用C#,Visual Studio 2010中的IFileOpenDialog接口显示可以选择文件夹的标准打开文件对话框。 我正在尝试使用最小的代码,所以我只在接口中定义了我需要的方法: using System; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; // Disable warning CS0108: ‘x’ hides inherited member ‘y’. Use the new keyword if hiding was intended. \#pragma warning disable 0108 namespace FolderDialog { internal static class IIDGuid { internal const string IModalWindow = “b4db1657-70d7-485e-8e3e-6fcb5a5c1802”; internal const string IFileDialog = “42f85136-db7e-439c-85f1-e4075d135fc8”; internal const string IFileOpenDialog […]

如何使用substring删除字符串结尾(fileName)?

我知道我必须使用Substring删除,但我不知道如何做到这一点。 我需要删除这样的字符串结尾 从 “C:\\Users\\myname\\Pictures\\shoeImage.jpg” 至 “C:\\Users\\myname\\Pictures”

根据内容过滤OpenFileDialog中显示的文件?

有没有办法修改OpenFileDialog的行为,以便它查看它打开的文件夹中的文件内部,然后根据其内容忽略某些文件? 一个例子是打开一个充满Zip文件的文件夹,但只显示包含某个文件的文件夹。 从文档中,有HookProc,但我不确定我是如何使用它的。 请注意,如果可能,我意识到这将是一个相对缓慢的操作。 目前我并不关心性能。 谢谢!

鼠标左键向上事件和openfiledialog

我在网格中有很少的图像,然后当我点击一个按钮时,出现“打开文件对话框”。(当然,在图像上) Microsoft.Win32.OpenFileDialog dlgOpenFiles = new Microsoft.Win32.OpenFileDialog(); dlgOpenFile.DoModal(); 图像附加了LeftButtonUp事件。 问题是,如果我通过双击选择文件,打开文件对话框将关闭(这很好),但除此之外,单击文件后面的图像正在接收一个根本不好的LeftButtonUp消息。 我使用的是wpf / c#/ vs2010

从C#中的打开文件对话框中排除文件扩展名

我试图在我的C#openFileDialog上放置一个filter来排除某些文件扩展名。 例如,我希望它显示目录中不是.txt文件的所有文件。 有没有办法做到这一点?

OpenFileDialog C#的默认名称?

我在OpenFileDialog中设置了默认文件名是answer_XXXXXX.csv。 但它显示如下。 默认名称“answer_XXXXXX.csv”未显示为已满。 然后我点击文件名combobox。 它准确显示 我该如何解决? 提前致谢。