Udostępnij przez


Instrukcje: zapisywanie plików za pomocą kontrolki RichTextBox formularzy systemu Windows

Kontrolka Windows Forms RichTextBox może zapisywać informacje wyświetlane w jednym z kilku formatów:

  • Zwykły tekst

  • Zwykły tekst Unicode

  • Format Rich-Text (RTF)

  • RTF ze spacjami zamiast obiektów OLE

  • Zwykły tekst z tekstową reprezentacją obiektów OLE

Aby zapisać plik, wywołaj metodę SaveFile. Możesz również użyć metody SaveFile, aby zapisać dane do strumienia. Aby uzyskać więcej informacji, zobacz SaveFile(Stream, RichTextBoxStreamType).

Aby zapisać zawartość kontrolki w pliku

  1. Określ ścieżkę pliku do zapisania.

    Aby to zrobić w rzeczywistej aplikacji, zazwyczaj należy użyć składnika SaveFileDialog. Aby zapoznać się z omówieniem, zobacz SaveFileDialog Component Overview (Omówienie składnika SaveFileDialog).

  2. Wywołaj metodę SaveFile kontrolki RichTextBox, określając plik do zapisania i opcjonalnie typu pliku. Jeśli wywołasz metodę z nazwą pliku jako jedynym argumentem, plik zostanie zapisany jako RTF. Aby określić inny typ pliku, wywołaj metodę z wartością wyliczenia RichTextBoxStreamType jako drugi argument.

    W poniższym przykładzie ścieżka ustawiona dla lokalizacji pliku RTF to folder Moje Dokumenty. Ta lokalizacja jest używana, ponieważ można założyć, że większość komputerów z systemem operacyjnym Windows będzie zawierać ten folder. Wybranie tej lokalizacji umożliwia również użytkownikom z minimalnymi poziomami dostępu systemu do bezpiecznego uruchamiania aplikacji. W poniższym przykładzie zakłada się, że formularz ma już dodaną kontrolkę RichTextBox.

    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);
       }
    

    Ważne

    W tym przykładzie zostanie utworzony nowy plik, jeśli plik jeszcze nie istnieje. Jeśli aplikacja musi utworzyć plik, aplikacja musi utworzyć dostęp do tego folderu. Uprawnienia są ustawiane przy użyciu list kontroli dostępu. Jeśli plik już istnieje, aplikacja wymaga tylko dostępu do zapisu, mniejsze uprawnienia. Jeśli to możliwe, bezpieczniejsze jest tworzenie pliku podczas wdrażania i udzielanie dostępu tylko do odczytu do pojedynczego pliku, a nie udzielanie dostępu do tworzenia folderu. Ponadto bardziej bezpieczne jest zapisywanie danych w folderach użytkowników niż w folderze głównym lub folderze Program Files.

Zobacz także