Partager via


Comment : enregistrer des fichiers avec le contrôle RichTextBox Windows Forms

Le contrôle Windows Forms RichTextBox peut écrire les informations qu’il affiche dans l’un des formats suivants :

  • Texte brut

  • Texte brut Unicode

  • Format de texte enrichi (RTF)

  • RTF avec des espaces à la place d’objets OLE

  • Texte brut avec une représentation textuelle d’objets OLE

Pour enregistrer un fichier, appelez la SaveFile méthode. Vous pouvez également utiliser la méthode SaveFile pour enregistrer des données dans un flux. Pour plus d’informations, consultez SaveFile(Stream, RichTextBoxStreamType).

Pour enregistrer le contenu du contrôle dans un fichier

  1. Déterminez le chemin d’accès du fichier à enregistrer.

    Pour ce faire dans une application réelle, vous utiliseriez généralement le SaveFileDialog composant. Pour obtenir une vue d’ensemble, consultez La vue d’ensemble du composant SaveFileDialog.

  2. Appelez la SaveFile méthode du RichTextBox contrôle, en spécifiant le fichier à enregistrer et éventuellement un type de fichier. Si vous appelez la méthode avec un nom de fichier comme seul argument, le fichier est enregistré en tant que RTF. Pour spécifier un autre type de fichier, appelez la méthode en spécifiant une valeur pour l’énumération RichTextBoxStreamType comme deuxième argument.

    Dans l’exemple ci-dessous, le chemin d’accès défini pour l’emplacement du fichier texte enrichi est le dossier Mes documents . Cet emplacement est utilisé, car vous pouvez supposer que la plupart des ordinateurs exécutant le système d’exploitation Windows incluront ce dossier. Le choix de cet emplacement permet également aux utilisateurs disposant de niveaux d’accès système minimaux d’exécuter l’application en toute sécurité. L’exemple ci-dessous suppose un formulaire avec un RichTextBox contrôle déjà ajouté.

    Public Sub SaveFile()
       ' You should replace the bold file name in the
       ' sample below with a file name of your own choosing.
       RichTextBox1.SaveFile(System.Environment.GetFolderPath _
       (System.Environment.SpecialFolder.Personal) _
       & "\Testdoc.rtf", _
          RichTextBoxStreamType.RichNoOleObjs)
    End Sub
    
    public void SaveFile()
    {
       // You should replace the bold file name in the
       // sample below with a file name of your own choosing.
       // Note the escape character used (@) when specifying the path.
       richTextBox1.SaveFile(System.Environment.GetFolderPath
       (System.Environment.SpecialFolder.Personal)
       + @"\Testdoc.rtf",
          RichTextBoxStreamType.RichNoOleObjs);
    }
    
    public:
       void SaveFile()
       {
          // You should replace the bold file name in the
          // sample below with a file name of your own choosing.
          richTextBox1->SaveFile(String::Concat
             (System::Environment::GetFolderPath
             (System::Environment::SpecialFolder::Personal),
             "\\Testdoc.rtf"), RichTextBoxStreamType::RichNoOleObjs);
       }
    

    Important

    Cet exemple crée un fichier s’il n’existe pas déjà. Si une application doit créer un fichier, cette application a besoin de créer un accès pour le dossier. Les autorisations sont définies à l’aide des listes de contrôle d’accès. Si le fichier existe déjà, l’application a besoin uniquement d’un accès en écriture, un privilège moindre. Si possible, il est plus sûr de créer le fichier pendant le déploiement et d’accorder uniquement l’accès en lecture à un seul fichier, plutôt que de créer un accès pour un dossier. Par ailleurs, il est plus sûr d’écrire les données dans des dossiers utilisateur que dans le dossier racine ou le dossier Program Files.

Voir aussi