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