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#
2
A
Répondre
10
passer le nom de fichier à la méthode System.Diagnostics.Process.Start()
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.
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
ListBox.SelectedItem – Will
Merci! Je pensais que ce serait le selectedvalue.tostring(). – geoff