Partager via


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

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

  • Texte brut

  • Texte brut Unicode

  • Texte RTF

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

  • Texte brut avec une représentation textuelle des objets OLE

Pour enregistrer un fichier, appelez la méthode SaveFile. 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.

    Dans une application réelle, vous utiliserez généralement pour cela le composant SaveFileDialog. Pour une vue d'ensemble, consultez Vue d'ensemble du composant SaveFileDialog (Windows Forms).

  2. Appelez la méthode SaveFile du contrôle RichTextBox en spécifiant le fichier à enregistrer et éventuellement un type de fichier. Si vous appelez cette méthode en spécifiant un nom de fichier comme seul argument, le fichier sera enregistré au format RTF. Pour spécifier un autre type de fichier, appelez la méthode en utilisant une valeur de l'énumération RichTextBoxStreamType comme second argument.

    Dans l'exemple ci-dessous, le chemin défini pour l'emplacement du fichier au format RTF est le dossier Mes documents. Cet emplacement est utilisé parce que la plupart des ordinateurs exécutant le système d'exploitation Windows incluent ce dossier. Le choix de cet emplacement permet également aux utilisateurs disposant de niveaux d'accès minimaux au système d'exécuter l'application en toute sécurité. L'exemple suivant suppose un formulaire auquel un contrôle RichTextBox a déjà été 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(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);
       }
    
    Note de sécuritéNote de sécurité

    Cet exemple crée un fichier s'il n'existe pas. Si une application doit créer un fichier, elle doit disposer de l'accès Créer pour le dossier. Les autorisations sont définies à l'aide de listes de contrôle d'accès. Si le fichier existe déjà, l'application a uniquement besoin de l'accès Écrire, ce qui représente un privilège inférieur. Lorsque cela est possible, il est plus sûr de créer le fichier au cours du déploiement et de n'accorder l'accès Lire que sur un seul fichier (plutôt que l'accès Créer sur un dossier). En outre, 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

Référence

RichTextBox.SaveFile

RichTextBox

Autres ressources

RichTextBox, contrôle (Windows Forms)

Contrôles à utiliser dans les Windows Forms