Элемент управления 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,

FontStyle.Bold);

richTextBox1.SelectionColor = Color.Red;

 

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

}

 



Дата добавления: 2019-02-08; просмотров: 1128;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.012 сек.