Элемент управления RichTextBox

  • docx
  • 18.11.2021
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала Л2-002214.docx

Элемент управления RichTextBox

Элемент управления RichTextBox обычно используется для предос- тавления возможностей изменения и отображения текста, схожих с воз- можностями текстовых редакторов, таких как Microsoft Word.

 

Элемент управления RichTextBox выполняет те же функции, что и элемент управления TextBox, но помимо этого он позволяет:

    отображать шрифты, цвета и ссылки,

    загружать текст и вложенные изображения из файлов,

    отменять и повторять операции редактирования, а также

    искать заданные символы.

 

Элемент управления RichTextBox, как и TextBox, позволяет отобра- жать полосы прокрутки, однако в отличие от TextBox он по умолчанию отображает и горизонтальную, и вертикальную полосы прокрутки, а также поддерживает дополнительные параметры их настройки. Элемент управления RichTextBox содержит множество свойств, которые можно использовать при применении форматирования к любой части текста в элементе управления.

Перед тем как изменить форматирование текста, этот текст необхо- димо выделить. Только выделенному тексту можно назначить формати- рование символов и абзацев.

 

После того как выделенному тексту был назначен какой-либо пара- метр, текст, введенный после выделенного, будет форматирован с тем же параметром, пока этот параметр не будет изменен, или не будет вы- делена другая часть документа элемента управления.

 

Свойство SelectionFont позволяет выделять текст полужирным шриф- том или курсивом. Кроме того, с помощью этого свойства можно изме- нять размер и гарнитуру текста. Свойство SelectionColor позволяет изме- нять цвет текста.

Свойство SelectionBullet следует использовать для создания маркиро- ванных списков.

 

Настройка форматирования абзацев осуществляется также с помо- щью       свойств       SelectionIndent,                           SelectionRightIndent и SelectionHangingIndent.

 

В элементе управления RichTextBox можно отображать содержимое обычного текстового файла, файла текста в формате Юникода или фай- ла формата RTF. Для этого вызывается метод LoadFile().

Метод LoadFile() также можно использовать для загрузки данных из потока.

С помощью метода SaveFile() можно сохранить текст в файле в за- данном формате. Метод SaveFile() позволяет сохранять данные в откры- тый поток примерно так же, как метод LoadFile().


Пример. При нажатии кнопки btnOpenFile отображается диалоговое окно Открытия файла. Имя выбранного файла используется в методе richTextBox1.LoadFile().

 

private void btnOpenFile_Click(object sender, System.EventArgs e)

{

if(openFileDialog1.ShowDialog() == DialogResult.OK)

 

richTextBox1.LoadFile (openFileDialog1.FileName); // RTF

}

 

Пример

В следующем примере при обработке сообщения о загрузке формы элемент управления RichTextBox загрузит файл C:\MyDocument.RTF в элемент управления и осуществит поиск первого экземпляра слова

«Текст».

После этого код изменит стиль, размер и цвет шрифта выделенного текста и сохранит изменения в новом файле C:\MyDocument2.RTF.

Ввод текста после слова «Текст» будет осуществляться с новыми па- раметрами.

 

private void Form1_Load (object sender, EventArgs e)

{

richTextBox1.LoadFile ("C:\\MyDocument.RTF"); richTextBox1.Find ( "Текст", RichTextBoxFinds.MatchCase);

 


richTextBox1.SelectionFont = new Font ("Verdana", 12,

 

Style.Bold);

richTextBox1.SelectionColor = Color.Red;


Font-


 


richTextBox1.SaveFile ("C:\\MyDocument2.RTF",

 

}


RichTextBoxStreamType.RichText);


 

Перечисление RichTextBoxStreamType:

Имя члена

Описание

PlainText

Поток открытого текста с пробелами вместо объектов OLE.

RichNoOleObjs

Поток в формате RTF с пробелами вместо объ- ектов OLE. Это значение действительно только для использования с методом SaveFile элемента управления RichTextBox.

RichText

Поток в формате RTF.

TextTextOleObjs

Поток открытого текста с текстовым представ- лением объектов OLE. Это значение действительно

только для использования с методом SaveFile эле- мента управления RichTextBox.

UnicodePlainText

Текст в формате Юникод. Поток текста с про- белами вместо объектов OLE.

Пусть в файле MyDocument.rtf хранится текст:


В следующем примере создается элемент управления RichTextBox, который загрузит файл RTF в элемент управления и осуществит поиск первого экземпляра слова «Текст».

После этого код изменит стиль, размер и цвет шрифта выделенного текста и сохранит изменения в исходном файле формата RTF корневой папки диска C.

 

Результат поиска слова «Текст»:

рис.7

 


Допишем текст до и после слова «Текст».

Рис.8

 

В следующем примере метод SaveFile() используется для указания то- го, что файл должен быть сохранен как текстовый файл в кодировке ASCII, а не в стандартном формате RTF.


SaveFileDialog saveFile1 = new SaveFileDialog();

 

saveFile1.DefaultExt = "*.rtf"; saveFile1.Filter = "RTF Files|*.rtf";

 

if(saveFile1.ShowDialog() == System.Windows.Forms.DialogResult.OK

&& saveFile1.FileName.Length > 0)

{

// Сохранить как текстовый файл в кодировке ASCII richTextBox1.SaveFile (saveFile1.FileName,

RichTextBoxStreamType.PlainText);

}