Comment ouvrir un fichier en c# ? Je ne veux pas dire le lire avec textreader et readline(). Je veux dire l'ouvrir comme un fichier indépendant dans le bloc-notes.
Je m'échapperais si j'étais vous.
Comment ouvrir un fichier en c# ? Je ne veux pas dire le lire avec textreader et readline(). Je veux dire l'ouvrir comme un fichier indépendant dans le bloc-notes.
Vous devez System.Diagnostics.Process.Start()
.
L'exemple le plus simple :
Process.Start("notepad.exe", fileName);
Approche plus générique :
Process.Start(fileName);
La deuxième approche est probablement la meilleure, car le shell Windows ouvrira votre fichier avec l'éditeur associé. De plus, si le fichier spécifié n'a pas d'association, il utilisera l'attribut Open With...
de Windows.
Note à ceux qui sont dans les commentaires, merci pour votre contribution. Ma réponse "quick n' dirty" était légèrement erronée, j'ai mis à jour la réponse pour refléter la manière correcte.
Je suis d'accord que c'est une façon de faire, une autre façon si vous voulez ouvrir le document mais pas exécuter le programme serait d'utiliser quelque chose du genre : richTextBox1.LoadFile(Program.editInC,RichTextBoxStreamType.UnicodePlainText) pour charger le contenu réel dans un fichier.
Il est préférable de passer le nom du fichier comme deuxième paramètre. En fait, selon le documentation votre code ne devrait pas fonctionner, car le paramètre unique de l'option Process.Start
est le nom du document ou du fichier de l'application, tandis que le vôtre est le nom de l'application combiné au paramètre de la ligne de commande.
Vous ne fournissez pas beaucoup d'informations, mais en supposant que vous voulez ouvrir n'importe quel fichier sur votre ordinateur avec l'application qui est spécifiée pour le gestionnaire par défaut pour ce type de fichier, vous pouvez utiliser quelque chose comme ça :
var fileToOpen = "SomeFilePathHere";
var process = new Process();
process.StartInfo = new ProcessStartInfo()
{
UseShellExecute = true,
FileName = fileToOpen
};
process.Start();
process.WaitForExit();
Le paramètre UseShellExecute indique à Windows d'utiliser le programme par défaut pour le type de fichier que vous ouvrez.
Le WaitForExit fera en sorte que votre application attende que l'application que vous avez luancée soit fermée.
Vous pouvez utiliser Process.Start
en appelant notepad.exe
avec le fichier comme paramètre.
Process.Start(@"notepad.exe", pathToFile);
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
0 votes
Vous voulez lancer une instance du bloc-notes à partir de votre programme et lui faire ouvrir un fichier spécifique ?
1 votes
Note : Lorsque j'ai essayé avec .Net 2.0,
Process.Start
n'a pas automatiquement développé "%windir%", bien que l'omettre comme dans La réponse de viabhav ou l'étendre explicitement (Environment.GetEnvironmentVariable("windir")
) a fonctionné avec succès.0 votes
Vous pouvez intégrer un clone du bloc-notes dans votre application et le personnaliser pour qu'il fonctionne exactement comme vous le souhaitez. J'ai écrit un clone de notepad en C#, vous pouvez le trouver ici : simplygoodcode.com/2012/04/notepad-clone-in-net-winforms.html