Программирование >>  Автоматически обновляемые приложения 

1 ... 52 53 54 [ 55 ] 56 57 58 ... 170


Примечание

Примеры работы с текстовыми полями находятся в папке TextBoxDemo на прилагаемом диске.

Элемент RichTextBox

Просмотр форматированного текста RTF

Не все знают, что форматированный текст RTF состоит из определенных команд управления, которые формируют текст в нужном виде. Вы можете посмотреть, как выглядит ваш текст, отформатированный определенным образом в текстовом поле RichTextBox, при ПОМОЩИ свойства Rtf. Поместите на форму элемент RichTextBox. Запустите проект, скопируйте какой-нибудь кусочек текста из файла DOC или RTF и вставьте его в подготовленное текстовое поле. Теперь, чтобы увидеть команды управления, содержащиеся в тексте (рис. 6.6), достаточно одной строки кода, приведенной в листинге 6.30.

: Листинг 6.30. Просмотр команд управления RTF

private void butGetRTF Click(object sender, EventArgs e) {

textBoxl.Text = richTextBoxl.Rtf;

последним знаком. Если нужно выделить весь текст, то присвойте свойству seiectionLength значение, равное длине текста, который требуется выделить. Если значение SeiectionLength больше нуля, ТО выделяется указанное количество знаков, начиная с текущей позиции курсора. Пример, приведенный в листинге 6.29, выделяет весь текст в поле textBoxl.

, Листинг 6.29. Выделение текста

Вьщеляем весь текст в текстовом поле

private void textBoxl Enter(object sender. System.EventArgs e) {

textBoxl.SelectionStart = 0;

textBoxl.SeiectionLength = textBoxl.Text.Length;



fextBox

(\rtf1\fbidis\ansi\ansicpgl251\deflT}\d6f!ang1G49{\fontt bl{\fO\fmod&rn\fprql\fc.harset204{r\fname Courier New:}Courier New CYR;)f </nil\fcharset204 Microsoft SansSertt.}}

:{\colortbl ;

i;\redG\green12S\blue128:\red128\greenC\bkieG:\fedO\! !green{}\blue255,}

; \ VI e wki nd4\Li с 1 \p a rd\l trp a r\s b40\s a4Q. I a ag 1024\exp n

[&1 Игф-гт ( ll-er32.dll ) ]

sratic ex-cern irrc GetWii>dowboi-ig {Ir-Pt;. hWnd, int Bindex);

солз int Gv JL STYLE - -16;

1 Получить строку

Рис. 6.6. Команды управления RTF

Как управлять цветом и шрифтами в RichTextBox?

Чтобы форматировать текст, изменяя его цвет или шрифт, нужно выделить его и далее применять свойства SeiectionFont и SeiectionCoior. Не забудьте перед изменениями установить фокус на элементе, иначе ваш код пропадет впустую. Если никакой текст не был выделен, то новый текст, который будет вводиться с клавиатуры или вставляться, будет иметь полужирный шрифт красного цвета. Соответствующий код приведен в листинге 6.31.

Листинг 6.31. Управление цветом и шрифтом в RichTextBox

private void butFormatRTF Click(object sender, EventArgs e) {

Устанавливаем фокус на richTextBox richTextBoxl.Focus();

Устанавливаем цвет для вьщеленного текста richTextBoxl.SeiectionCoior = Color.Red; Устанавливаем шрифт

richTextBoxl.SeiectionFont = new Font( Courier , 10, FontStyle.Bold);



\ Листинг 6.32. Управление гиперссылкой в RichTextBox

private void richTextBoxl LinkClicked(object sender,

LinkClickedEventArgs e)

System.Diagnostics.Process.Start(e.LinkText);

Поддержка DragnDrop

Вы знаете, что в документе Word можно перетаскивать выделенный текст с помощью мыши. Вы можете обеспечить подобную функциональность в своем проекте. Установите свойство AiiowDrop в значение true и добавьте свой

код (листинг 6.33) для обработки событий DragEnter И DragDrop.

Листинг 6.33. Поддержка DragnDrop

public Forml() {

InitializeComponent(); richTextBoxl.AllowDrop = true; this.richTextBoxl.DragEnter +=

new System.Windows.Forms.DragEventHandler(

this.richTextBoxl DragEnter) .

this.richTextBoxl.DragDrop +=

new System.Windows.Forms.DragEventHandler(

this.richTextBoxl DragEnter) .

Как управлять текстом-гиперссылкой в RichTextBox?

По умолчанию элемент управления RichTextBox имеет свойство DetectUrls,

равное true. Это означает, что текст, представляющий собой URL, автоматически преобразуется в гиперссылку, как это мы обычно привыкли видеть в браузерах. Слово-гиперссылка подчеркивается линией, а мышь при подведении к такой ссылке приобретает вид руки с вытянутым указательным пальцем. Но этого недостаточно, чтобы щелчок на ссылке запустил указанную страницу. Вам необходимо написать свой код (листинг 6.32) для события

LinkClicked.



1 ... 52 53 54 [ 55 ] 56 57 58 ... 170

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика