Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Обзор элементов управления






· Статические элементы управления

LinkLabel (метка-ссылка) - отображает текстовую строку, сильно или немного выделенную, чтобы показать, что щелчок этого элемента вызывает какое-то действие, например запуск приложения или открытие Web-страницы. Вдобавок к назначению стандартных значений свойств BackColor и ForeColor, в LinkLabel определены четыре свойства цвета:

- LinkColor (по умолчанию синий);

- DisabledLinkColor (серый);

- ActiveLinkColor (красный при активизации ссылки);

- VisitedLinkColor (пурпурный).

Свойство LinkArea элемента LinkLabel — это объект типа LinkArea, представляющий собой структуру из двух целых свойств - Start и Length. Допустим, свойство Text элемента LinkLabel определено так:

lnklbl.Text = " Click here to display the page."

Пусть слово here надо сделать ссылкой. Зададим LinkArea так, чтобы ссылка начиналась с шестого знака и была длиной четыре знака:

lnklbl.LinkArea = new LinkArea(6, 4);

Вид этой части символьной строки определяется свойством LinkBehavior, которому присваивается значение перечисления LinkBehavior. Вот его четыре члена:

- AlwaysUnderline;

- HoverUnderline;

- NeverUnderline;

- SystemDefault.

По умолчанию назначается SystemDefault, повторяющее поведение ссылки в соответствии с пользовательской настройкой Microsoft Internet Explorer.

Одной метке можно назначить несколько ссылок. В этом случае применяется свойство LinkLabel по имени Links. Это объект LinkLabelLinkCollection, представляющий собой набор объектов LinkLabelLinks.

Label (метка) — это элемент управления, отображающий нередактируемый текст. Сам текст задается в свойстве Text. Хотя метка может отображать текст в нескольких строках, она не выводит полос прокрутки, если текст не умещается в элементе управления. Если в элементе управления надо разместить объемный текст, но делать его редактируемым нельзя, используйте элемент управления TextBox со свойством Readonly равным true.

Помимо текста, метка может отображать объект Image, который можете быть как объектом Bitmap, так и Metafile. (Эти классы определены в пространствах имен SystemJDrawing и SystemDraivingImaging) Один из способов заключается в присвоении свойству Image загруженного файла:

lbl.Image = Image.Load(" SillyCat.jpg");

· Кнопка

Button (кнопка) - используется для инициирования действий. На кнопке как правило присутствует текст, но некоторые из них - изображения, с текстом или без. Если кнопка должна отображать и текст, и изображение, можно задать свойство TextImageRelation, которому присваивают одно из значений перечисления TextImageRelation, состоящего из членов ImageAboveText, ImageBeforeText, TextAbovelmage, TextBeforelmage и Overlay.

Свойства TextAlign и ImageAlign задают положение текста или изображения в элементе управления. Оба принимают значения перечисления ContentAlignment, состоящего из девяти членов — комбинации Top, Middle и Bottom с Left, Center и Right. Значение по умолчанию обоих свойств — ContentAlignmentMiddleCenter.

Свойство DialogResult класса Button позволяет возвращать значение при закрытии диалогового окна, например, при нажатии кнопок ОК или Cancel (Отменить).

· Элементы управления с поддержкой редактирования текста

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

В TextBox также определено множество методов: для работы с буфером обмена (Cut, Copy и Paste), отменой ввода (Undo) и прочими возможностями редактирования (Clear, AppendText и т. п.).

Событие TextChange происходит при изменении текста. Например, его можно использовать для проверки допустимости вводимых пользователем символов (например, предположим, что пользователь должен вводить в поле только цифры или, наоборот, только буквы).

Если TextBox используется для ввода пароля, нужно указать в PasswordChar символ, который будет отображаться при вводе. В этом отношении также полезно свойство CharacterCasing. Если присвоить этому свойству значение из перечисления CharacterCasinglower или CbaracterCasing.Upper, вводимые символы будут приводиться в нижний или верхний регистр соответственно.

MaskedTextBox (текстовое поле с маской) – элемент управления, предназначенный для ввода одной строки текста в заранее заданном формате, например телефонных номеров, денежных сумм, дат или адресов электронной почты. Свойство Mask представляет символьную строку, определяющую формат вводимой в поле строки.

При попытке ввести не предусмотренный маской текст инициируется событие MasklnputRejected, вместе с которым передается объект MasklnputRejectedEventArgs, имеющий два свойства: Position - позиция символа, не совпадающего с маской, и RejectionHint - текстовая строка, отображаемая (например, в элементе управления Label) для прочтения пользователем.

RichTextBox (поле ввода с форматированием) – в данном элементе управления текст хранится в поддерживающем стилевое оформление формате RTF (Microsoft Rich Text Format).

RichTextBox по умолчанию многострочный. Как и в TextBox, в RichTextBox есть свойство ScrollBars, но здесь ему присваивается одно из значений перечисления RichTextScrollBars. По умолчанию это RichTextScrollBars.Both, предписывающий горизонтальные и вертикальные полосы прокрутки, но только если они нужны. Остальные члены перечисления — None, Horizontal, Vertical, ForcedHorizontal, ForcedVertical и ForcedBoth. Значения с префиксом Forced требуют отображать полосы прокрутки, даже если они не обязательны.

RichTextBox разрешает определять программно форматирование только выделенного в данный момент текста. Такое форматирование выполняеется путем определения свойств, начинающихся со слова Selection. В некоторых случаях эта схема очень удобна, например когда пользователь выделяет текст, а затем выбирает Font из меню Format. В программе создается новый объект Font, например по имени fnt, и присваивается свойству SelectionFont элемента управления RichTextBox:

rtb.SelectionFont = fnt;

SelectionBackColor и SelectionColor — это свойства объекта Color, определяющие цвет фона и текста выделенного участка соответственно. SelectionFont — это объект типа Font. Еще один элемент форматирования символов — SelectionCharOffset, смещение уровня текста, выраженное в пикселах. Положительное значение используется для верхних, а отрицательное — для нижних индексов.

Все остальное относится к форматированию абзацев. SelectionAlignment принимает значения из перечисления шHorizontalAlignment, состоящего из членов Left, Right и Center. Выравнивания по правому и левому краям одновременно не предусмотрено. SelectionBullet — булево свойство, задающее маркер перед каждым абзацем. SelectionIndent, SelectionRightIndent и SelectionHangingIndent — отступ в пикселах. Selection-RightIndent отмеряется от правой стороны элемента управления. Отступ первой строки абзаца указывается в SelectionIndent и отмеряется от левой стороны элемента управления. SelectionHangingIndent — «висячий отступ», то есть отступ остатка абзаца по отношению к SelectionIndent. SelectionTabs — это массив чисел, определяющих позиции табуляции.

В свойстве Text объекта RichTextBox задается только «пустой» текст без каких-либо RTF-тэгов. Для работы с полнофункциональным RTF-текстом служит свойство Rtf. В RichTextBox предусмотрены встроенные методы ввода/вывода файлов — LoadFile и SaveFile.

Упражнение 3

Расположите на ранее созданной форме две кнопки Button и надпись Label, разместите их по-своему усмотрению.

Для задания имени кнопке выделите ее на форме, откройте вкладку Properties и измените свойство Name. Задайте для кнопок имена «btnYes» и «btnNo». Для задания текста на кнопке измените свойство Text. Для первой кнопки задайте текст «Да», для второй – «Нет». Для элемента Label свойство текст установите в «Вы довольны своей зарплатой?».

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

private void btnYes_Click(object sender, EventArgs e)

{

}

В полученный шаблон добавьте функцию вывода диалогового окна с сообщением

Выделите кнопку " Нет". В окне Properties переключитесь в окно событий и дважды щелкните в поле MouseMove.

В обработчике этого события добавьте код для связывания движения мыши с координатами кнопки и указания координат, куда кнопка будет перемещаться:

 

 

Запустите приложение и нажмите на каждую из кнопок.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.