双击打开文件c#
我有一个充满文件路径的列表框。有人知道双击文件时如何打开该文件的默认程序吗?例如,如果列表框中的一项显示“c:\test.txt”,如何在记事本中打开它?如果它是“c:\inetpub\wwwroot\sitetest\test.asp”,如何在默认的asp编辑器中打开它?谢谢。将文件名传递给方法您可以使用Process/ProcessStartInfo类在windows中使用默认应用程序处理程序执行文件 例如:双击打开文件c#,c#,file,listbox,double-click,C#,File,Listbox,Double Click,我有一个充满文件路径的列表框。有人知道双击文件时如何打开该文件的默认程序吗?例如,如果列表框中的一项显示“c:\test.txt”,如何在记事本中打开它?如果它是“c:\inetpub\wwwroot\sitetest\test.asp”,如何在默认的asp编辑器中打开它?谢谢。将文件名传递给方法您可以使用Process/ProcessStartInfo类在windows中使用默认应用程序处理程序执行文件 例如: ProcessStartInfo psi = new ProccessStartI
ProcessStartInfo psi = new ProccessStartInfo();
psi.FileName = "myfile.txt";
Process p = new Process();
p.StartInfo = psi;
p.Start();
请记住,p.Start()可以抛出您必须处理的异常,不同版本的windows的行为略有不同。我知道,如果没有默认的文件类型处理程序,Win7/Vista将弹出“应用程序选择器”对话框,但在某些版本中,您只会得到一个异常。这并不能完全模拟windows资源管理器中的双击操作。例如,对于AutoCAD,加载了正确的版本,但当我们将文件路径发送到Process.Start时,出现softlock license manager错误
System.Diagnostics.Process.Start(dwgFilePath);
要完全模拟windows资源管理器中的双击,必须将路径传递到explorer.exe
System.Diagnostics.Process.Start("explorer.exe", dwgFilePath);
非常感谢。现在,在一个相关的注释中,我如何在双击列表框时获得所选项目?我原以为是listbox.SelectedValue,但当我双击时,它返回null。再次感谢!非常感谢。我想应该是selectedvalue.tostring()。