Практическое руководство. Сохранение файлов с помощью элемента управления RichTextBox в Windows Forms
Windows Forms RichTextBox управления может записывать сведения, которые отображаются в одном из следующих форматов:
Обычный текст
Текст в Юникоде
Rich Text Format (RTF)
Формат RTF с пробелами вместо объектов OLE
Обычный текст с текстовым представлением объектов OLE
Чтобы сохранить файл, вызовите SaveFile метод. Можно также использовать SaveFile метод для сохранения данных в поток. Дополнительные сведения см. в разделе SaveFile(Stream, RichTextBoxStreamType).
Чтобы сохранить содержимое элемента управления в файл
Определите путь к файлу должен быть сохранен.
Для этого в реальном приложении обычно используется SaveFileDialog компонента. Дополнительные сведения см. в разделе Общие сведения о компоненте SaveFileDialog.
Вызовите SaveFile метод RichTextBox управления, указав имя файла для сохранения и при необходимости тип файла. Если вызвать метод с именем файла в качестве единственного аргумента, файл будет сохранен как RTF. Чтобы указать другой тип файла, вызовите метод со значением перечисления RichTextBoxStreamType в качестве второго аргумента.
В приведенном ниже примере путь задан для — расположение файла RTF- Мои документы папки. Это расположение используется в том случае, так как можно предположить, что большинство компьютеров под управлением ОС Windows будет включать эту папку. Эта папка также пользователи со систему с минимальным уровнем доступа могут безопасно запускать приложение. В приведенном ниже примере предполагается, что форма 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); }
Important
В этом примере создается файл (если файл отсутствует). Если приложению требуется для создания файла, что ему необходимо иметь доступ для папки. Для задания разрешений используются списки управления доступом. Если файл уже существует, приложению требуется только доступ на запись, более низким уровнем. Где это возможно, безопаснее создать файл во время развертывания и только предоставить доступ на чтение к одному файлу, чем на доступ к папке. По тем же соображениям рекомендуется записывать данные в пользовательские папки, а не в коревую папку или папку Program Files.