2009-07-20 2 views
0

Je peux enregistrer un fichier en utilisant savefiledialog. une fois le fichier est enregistré et si nous l'éditons et puis enregistrez-le à nouveau alors il devrait être enregistré sans ouvrir le savefiledialog.please m'aider avec le code.Je veux écrire un code où après avoir enregistré le fichier par le fichier savefile puis l'éditer à nouveau pour enregistrer la boîte de dialogue saveialog ne devrait pas apparaître

Ce code est créé dans Visual Studio 2005 dans Windows Forms.

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Text; 
using System.Windows.Forms; 
using System.IO; 

namespace win 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 
     } 

     private void button1_Click(object sender, EventArgs e) 
     { 
      if (openFileDialog1.ShowDialog() == DialogResult.OK) 
      { 
       StreamReader str = new StreamReader(openFileDialog1.FileName); 
       textBox1.Text = str.ReadToEnd(); 
       str.Close(); 
      } 
     } 

     private void button2_Click(object sender, EventArgs e) 
     { 

      if (saveFileDialog1.ShowDialog() == DialogResult.OK) 
      { 

       { 
        StreamWriter wtr = new StreamWriter(saveFileDialog1.FileName); 
        wtr.Write(textBox1.Text); 
        wtr.Close(); 
       } 
      } 
     } 

    } 
} 
+0

Plus d'informations comme la boîte à outils langage/interface utilisateur que vous utilisez serait utile –

+0

Je suppose .NET comme il a un objet SaveFileDialog. J'ai peut-être tort. –

Répondre

4

SaveFileDialog ne vous permet de fournir une interface utilisateur cohérente à l'utilisateur afin pour eux de choisir l'emplacement du fichier. Il ne sauvegarde pas le fichier actuall pour vous. Vous devez le faire vous-même.

Vous devez fournir la fonctionnalité supplémentaire que vous décrivez. Vous devez garder une note sur le nom du fichier et vous avez géré la logique qui dit: Si ce fichier est modifié et que j'ai déjà un nom de fichier, j'enregistre le nom de fichier existant.

COMPLEMENTAIRES SUR LA BASE DE NOUVEAU CODE

Vous devez toujours fournir la logique de travailler si vous avez besoin de montrer la boîte de dialogue ou non. Lorsque vous affichez la boîte de dialogue pour la première fois, vous voulez stocker le nom de fichier quelque part. Chaque fois que vous voulez vérifier si vous avez déjà un nom de fichier et l'utiliser, sinon affichez la boîte de dialogue.

Vous pourriez également vouloir refactoriser une partie de ce code car le code pour enregistrer réellement le fichier peut être utilisé à plusieurs endroits. Vous pouvez mettre tout en une méthode peut appeler cette méthode de chaque endroit où vous enregistrez le fichier. Enfin, il pourrait être plus facile de lire le code si le formulaire et les contrôles du formulaire avaient reçu des noms propres. button1 comme le nom d'un contrôle n'est pas acceptable et si vous étiez dans mon équipe, je vous demanderais de le changer afin que nous sachions à quoi correspond effectivement button1. Je présume qu'un nom plus sensible devrait être quelque chose comme openFileButton et button2 devrait être saveFileButton.

+0

J'ai mis à jour la question avec le code que j'essaie d'utiliser .. –