Компьютерные книги
Главное меню
Главная Поиск по сайту Добавить материал О нас Карта книг Карта сайта
Реклама
computersbooks.net -> Добавить материал -> Языки программирования -> Ватсон К. -> "С#" -> 151

С# - Ватсон К.

Ватсон К. С# — Лори, 2005 . — 879 c.
ISBN 1-861004-98-2
Скачать (прямая ссылка): vatsonc2005.pdf
Предыдущая << 1 .. 145 146 147 148 149 150 < 151 > 152 153 154 155 156 157 .. 404 >> Следующая


System,windows.Forms.KeyPressSventHandler(thie.txtSiae_KeyPress); this, txtsize.Validating += nevr

System.ComponentModel.CancelEventHandler(this.txtSize_Validating);

Эти два обработчика событий уже встречались в предшествующем примере. Оба события используют вспомогательный метод, называемый ApplyTextsize, которому передается строка текста с указанием его размера:

private void txtSize_KeyFress(object sender,

System.Window!.Forms.SeyPressEventArgs e)

{ * / / Удаление всех символов, которые не является цифрами, пробелом или вводом if ((e.KeyChar <*9)1 e.KeyChar > 57) Uk e.KeyChar 1- в fci e.K< Char !- 13)

(

e.Handled - true;

)

' else if {e.KeyChar -*13)

(

// Использование заданного размера в ток случае, ест пользователь // Kfstn г : ада inter TextBox txt - (TextBox)sender)
320

Глава 13

if {txt.Text.Length > 0)

ApplyTextSize(txt.Text); e. Handled = true; this.rtfText.Focus();

)

I

private void txtSize_Validating{object sender,

System.ComponentHodel.CancelEventArgs e)

(

TextBox txt * {TextBox}sender;

ApplyTextSize{txt.Text)\ this.rtfText.Focus Ilf

)

private void ApplyTextSize (string textSize)

(

// Преобразование размера «кета а тип с плавающей точкой, поскольку И и скор' нам потребуется именно этот тип float newSize = Convert.ToSingla(textSize)j FontFai ly сUrrentFont Family;

Font newFont;

// Создание «рифта того же самого семейства, но обладавшего новым размером current Font Family * thia. rtfText. SelectionFont.FontFamily; newFont = new Font(currentFontFamily, newSize);

// Присваивание нового значения врифту выбранного текста this.rtfText SelectionFont ¦ newFont;

)

Действия, которые могут представлять для нас интерес, происходят но вспомогательном методе ApplyTextSize. Сначала этот метод преобразовывает размер из строкового типа в тнп с плавающей точкой (float). Пользователю не позволяется вводить ничего, кроме целых значений, однако при создании нового шрифта требуется значение типа float, поэтому такое преобразование необходимо.

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

Это все виды форматирования, которые можно выполнить, однако некоторые возможности предоставляются самим управляющим элементом RichTextbox, Если вы теперь попытаетесь запустить этот пример, то вы получите возможность выделять текст жирным шрифтом, курсивом и подчеркиванием, кроме того, вы сможете выровнять текст по центру. Это те возможности, которые вы н ожидали получить, однако существуют еще некоторые возможности, представляющие интерес. Попробуйте набрать в тексте какой-нибудь web-адрес, например, www.wrox.com. Этот текст будет распознан управляющим элементом как интернетовский адрес и будет выделен подчеркиванием, а курсор мыши, попадай на него, будет превращаться в кисть руки. Если вы думаете, что можете теперь нажать кнопку мыши и попасть на эту страницу, то вы почти правы. Но для этого необходимо обработать событие, которое возникает, когда пользователь щелкает мышью на ссылке,— Linkclicked. Это достигается посредством подписки на событие в конструкторе:

thie. rtf Text. LinkCliclced +“ new

System.Windows.Fonae.LinkClickedEventHandler (this.rtfText_Hnkeddick) r

С этим обработчиком событий мы пока еще не сталкивались. Он используется для получения текстового представления ссылки, на которой щелкнули мышью. Этот обработчик очень прост и выглядит следующим образом:
Использование управляющих элементов Windows Form,

321

private void rt?Text_LinkedClick(object Bender, -

System.Windows.Forme.LinJcCliokedEventArge e)

f

System,Diagnostics.Process :tart(e.LinkText);

)

Этот код позволяет открыть браузер, использующийся по умолчанию, еслн он еще не открыт, и перейти на сайт, на который указывает данная ссылка.

Часть приложения, отвечающая за редактирование, завершена. Все, что осталось сделать,— это загрузить и сохранить содержимое управляющего элемента. Для этой цели мы будем использовать файл с фиксированным именем.

Щелкните два раза мышью на кнопке Load и добавьте следующий код:

private void btnLoad-Click(object sender, System,Ei ntftrge e)

{

t) Загрузи файла я управляющий элемент RichTextbox try .

(

rtfText; ,LoadFile(*.. / .. /Test.rtf') i

}

catch (System.lO.FileNotFoundException)

(

MessageBox.Show(*No file to load yet');

)

Вот и все! Больше ничего не требуется. Поскольку мы имеем дело с файлами, то всегда существует вероятность столкнуться с исключительными ситуациями, и мы должны уметь их обрабатывать. В методе Load мы обрабатываем исключительную ситуацию, которая возникает в том случае, если файла с таким именем не существует. Не менее просто и сохранить файл. Щелкните мышью два раза на кнопке Save и добавьте следующее:

private void btn?ave_Click(object sender, Syst«n. Event Arg« e) f

// Сохдонекче текста try ’
Предыдущая << 1 .. 145 146 147 148 149 150 < 151 > 152 153 154 155 156 157 .. 404 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

Эком "Microsoft Excel 2000 шаг за шагом Русская версия самоучитель " (Самоучитель)

Поляков А.Ю. "Методы и алгоритмы компьютерной графики в примерах Vizual C++" (Графика)

Баяковский Ю.М. "Графическая библиотека Open GL " (Графика)

Валиков А. "Технология " (Языки программирования)
Авторские права © 2013 ComputersBooks. Все права защищены.