2010-01-04 110 views
2

我有一个充满文件路径的列表框。有人知道如何在文件被双击时打开文件的默认程序吗?例如,如果列表框中的某个项目显示“c:\ test.txt”,那么如何在记事本中打开它?如果它是“c:\ inetpub \ wwwroot \ sitetest \ test.asp”,它如何在默认的asp编辑器中打开?谢谢。双击打开文件c#

回答

2

您可以使用Process /类的ProcessStartInfo与Windows中的默认应用程序处理程序来执行该文件。

例如:

ProcessStartInfo psi = new ProccessStartInfo(); 
psi.FileName = "myfile.txt"; 
Process p = new Process(); 
p.StartInfo = psi; 
p.Start(); 

记住p.Start()可以抛出异常,你将不得不处理,以及不同版本的Windows会略有不同behavoir。我知道如果没有默认的文件类型处理程序,Win7/Vista会弹出应用程序选择器对话框,但在某些版本中,您只会遇到异常。

+0

谢谢!现在,在相关说明中,我如何通过双击列表框来获取所选项目?我认为这将是listbox.SelectedValue,但是当我双击时返回null。再次感谢! – geoff 2010-01-04 20:38:33

+0

ListBox.SelectedItem – Will 2010-01-04 20:40:45

+0

谢谢!我认为这将是selectedvalue.tostring()。 – geoff 2010-01-04 20:43:56