|
Программирование >> Автоматически обновляемые приложения
Примечание Примеры работы с текстовыми полями находятся в папке 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.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |