2010-04-13 7 views
0

J'ai créé un éditeur de texte en C# et j'utilise une extension de fichier spéciale pour le fichier XML que mon programme utilise. Lorsque j'utilise "Ouvrir avec ..." dans le menu contextuel de Windows, mon programme ne lit pas le fichier et j'obtiens une erreur.ouvrir le fichier directement

Comment résoudre ce problème?

+3

Veuillez fournir du code et la description de l'erreur – tanascius

+3

Cette question est trop spécifique. Pourriez-vous être un peu plus vague? –

+0

il n'a pas besoin de code je veux connaître les fonctions, objets ou méthodes que je peux utiliser pour ouvrir le fichier directement à partir d'ouvrir, sans ouvrir le programme d'abord et utiliser le bouton ouvrir pour ouvrir le fichier – khtaby

Répondre

2

Dans votre méthode Main(), vous devez saisir le nom du fichier:

static void Main(string args[]) 
{ 
    string fileName; 
    if (args.Length > 0) 
     fileName = args[0]; 

    ... 
} 

Ensuite, vous aurez besoin de passer fileName au code qui ouvre le fichier. Comment vous faites cela dépend de vous.

Si votre méthode Main() n'a aucun paramètre, ajoutez simplement le paramètre string args[] et le runtime prendra soin de remplir le tableau avec les paramètres de la ligne de commande.

Si vous faites déjà cela, c'est probablement une question SuperUser.

+0

mais le principal comme ça static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault (false); Application.Run (new Form1()) ; } il n'a aucun paramètre – khtaby

+0

Ajoutez le paramètre 'string args []' et le système d'exploitation fournira le tableau de paramètres de ligne de commande. Les deux sont des signatures valides pour 'Main'. –

+0

@khtaby: ajoutez simplement le paramètre args [] (voir question éditée). –

1

mais le principal comme ça

static void Main() 
    { 
     Application.EnableVisualStyles(); 
     Application.SetCompatibleTextRenderingDefault(false); 
     Application.Run(new Form1()); 
    } 

il n'a pas de paramètres

+0

Environment.GetCommandLineArgs(); – TheHurt

+0

Veuillez ne pas ajouter de commentaires en tant que réponses. –

1

vous pouvez utiliser ce code simple pour me répondre

private void button1_Click(object sender, EventArgs e) 
    { 
     richTextBox1.Text = File.ReadAllText(@"d:\wifi.txt"); 
    } 

le texte affiché dans le RichTextBox1