2010-01-04 10 views
2

J'ai une liste déroulante remplie de chemins de fichiers. Est-ce que quelqu'un sait comment ouvrir le programme par défaut pour le fichier quand il est double-cliqué? Par exemple, si l'un des éléments de la listbox indique "c: \ test.txt", comment l'ouvrir dans le bloc-notes? Et si c'est "c: \ inetpub \ wwwroot \ sitetest \ test.asp" comment peut-il être ouvert dans l'éditeur d'asp par défaut? Merci.Double-cliquez pour ouvrir le fichier C#

Répondre

2

Vous pouvez utiliser les classes Process/ProcessStartInfo pour exécuter le fichier avec le gestionnaire d'application par défaut dans Windows.

Par exemple:

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

Gardez à l'esprit que p.Start() peut lancer des exceptions que vous aurez à gérer, et les différentes versions de Windows auront behavoir légèrement différentes. Je sais que Win7/Vista affichera la boîte de dialogue du sélecteur d'application s'il n'y a pas de gestionnaire par défaut pour le type de fichier, mais dans certaines versions, vous obtiendrez une exception.

+0

Merci! Maintenant, sur une note connexe, comment puis-je obtenir l'élément sélectionné sur un double-clic pour une liste? Je pensais que ce serait listbox.SelectedValue mais cela retourne null quand je fais un double clic. Merci encore! – geoff

+0

ListBox.SelectedItem – Will

+0

Merci! Je pensais que ce serait le selectedvalue.tostring(). – geoff