Чтение онлайн

на главную - закладки

Жанры

ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание

Троелсен Эндрю

Шрифт:

Рис. 21.3. Назначение мнемоник элементам управления Label

Запустив проект, вы сможете перейти к любому из имеющихся элементов TextBox, используя ‹Alt+n›, ‹Alt+M› или ‹Alt+T›.

Элемент TextBox

В отличие от элемента управления Label, элемент управления TextBox (текстовое окно) обычно не является доступным только для чтения (хотя его можно сделать таким, если установить для свойства ReadOnly значение true) и часто используется как раз для того, чтобы позволить пользователю ввести текстовые данные для обработки. Тип TextBox можно настроить на поддержку одной

строки текста или множества строк, его можно настроить на маскировку вводимых символов (например, с помощью звездочки, *) и в случае многострочного ввода этот элемент может содержать полосы прокрутки. Вдобавок к возможностям, унаследованным от базовых классов, TextBox определяет несколько своих интересных свойств (табл. 21.2).

Таблица 21.2. Свойства TextBox

Свойство Описание
AcceptsReturn Читает или задает значение, являющееся индикатором необходимости перехода на новую строку при нажатии ‹Enter› в элементе управления TextBox, допускающем многострочный ввод (иначе нажатие ‹Enter› активизирует кнопку формы, используемую по умолчанию)
CharacterCasing Читает или задает значение, указывающее необходимость изменения элементом управления TextBox регистра символов при их вводе
PasswordChar Читает или задает символ, применяемый для маскировки вводимых символов в однострочном элементе управления TextBox, используемом для ввода паролей
ScrollBars Читает или задает значение, указывающее необходимость наличии полос прокрутки в элементе управления TextBox, допускающем многострочный ввод
TextAlign Читает или задает значение, соответствующее одному из значений перечня HorizontalAlignment и указывающее правила выравнивания текста в элементе управления TextBox

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

Второй элемент TextBox (с именем txtMultiline) – это окно многострочного текста, которое должно допускать обработку нажатия.клавиши ввода и отображать вертикальную полосу прокрутки, когда введенный текст не умещается в рамках видимого пространства TextBox. Наконец, третий элемент TextBox (с именем txtUppercase) будет настроен на перевод введенных символьных данных в верхний регистр.

Сконфигурируйте каждый элемент TextBox соответствующим образом с помощью окна свойств, используя в качестве руководства следующий фрагмент реализации InitializeComponent.

private void InitializeComponent {

 …

 // txtPassword

 //

 this.txtPassword.PasswordChar = '*';

 …

 // txtMultiline

 //

 this.txtMultiline.Multiline = true;

 this.txtMultiline.Scrollbars = System.Windows.Forms.ScrollBars.Vertical;

 …

 // txtUpperCase

 //

 this.txtUpperCase.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper;

 …

}

Свойству ScrollBars присваивается значение из перечня ScrollBars, который определяет следующие

элементы.

public enum System.Windows.Forms.ScrollBars {

 Both, Horizontal, None, Vertical

}

Свойство CharacterCasing работает в паре с перечнем CharacterCasing, который определен так.

public enum System.Windows.Forms.CharacterCasing {

 Normal, Upper, Lower

}

Сейчас предположим, что мы поместили в форму кнопку Button (с именем btnDisplayData) и добавили для этой кнопки обработчик события Click (щелчок]. Наша реализация соответствующего метода просто отображает значения всех элементов TextBox в окне сообщения.

private void btnDisplayData_Click(object sender, EventArgs e) {

 // Получение данных всех текстовых окон.

 string textBoxData = ";

 textBoxData += string.Format("MultiLine: {0}\n", txtMultiline.Text);

 textBoxData += string.Format("\nPassword: {0}\n", txtPassword.Text);

 textBoxData += string.Format("\nUppercase: {0}\n", txtUpperCase.Text);

 // Отображение полученных данных.

 MessageBox.Show(textBoxData, "Вот содержимое, элементов TextBox");

}

На рис. 21.4 показан один из возможных вариантов ввода (обратите внимание на то. что вы должны нажать клавишу ‹Alt›. чтобы увидеть мнемоники надписей).

Рис. 21.4. Множество "воплощений" типа TextBox

На рис. 21.5 показан результат выполнения щелчка на элементе типа Button.

Рис. 21.5. Извлечение значений из объектов TextBox

Элемент MaskedTextBox

В .NET 2.0 предлагается также маскированное текстовое окно, которое позволяет задать последовательность символов, допустимую для принятия буфером ввода (это может быть номер социальной страховки, телефонный номер с кодом региона, почтовый индекс или что-то другое). Маска, с которой производится сравнение (она называется шаблоном или выражением маски), создается с помощью специальных маркеров, встроенных в строковый литерал. Созданное значение выражения маски присваивается свойству Mask. В табл. 21.3 даются описания некоторых масочных маркеров.

Таблица 21.3. Маркеры типа MaskedTextBox

Маркер Описание
0 Представляет наличие цифры (значения 0-9)
9 Представляет необязательную цифру или пробел
L Представляет наличие буквы (в верхнем или нижнем регистре, A-Z)
Представляет необязательную букву (в верхнем или нижнем регистре, A-Z)
, Представляет разделитель тысяч
: Представляет указатель места заполнения времени
/ Представляет указатель места заполнения даты
$ Представляет символ денежной единицы
Поделиться:
Популярные книги

Шайтан Иван 2

Тен Эдуард
2. Шайтан Иван
Фантастика:
боевая фантастика
попаданцы
альтернативная история
5.00
рейтинг книги
Шайтан Иван 2

Наследник старого рода

Шелег Дмитрий Витальевич
1. Живой лёд
Фантастика:
фэнтези
8.19
рейтинг книги
Наследник старого рода

Аргумент барона Бронина 2

Ковальчук Олег Валентинович
2. Аргумент барона Бронина
Фантастика:
попаданцы
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Аргумент барона Бронина 2

Третье правило дворянина

Герда Александр
3. Истинный дворянин
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Третье правило дворянина

Убивать чтобы жить 3

Бор Жорж
3. УЧЖ
Фантастика:
героическая фантастика
боевая фантастика
рпг
5.00
рейтинг книги
Убивать чтобы жить 3

СД. Том 15

Клеванский Кирилл Сергеевич
15. Сердце дракона
Фантастика:
героическая фантастика
боевая фантастика
6.14
рейтинг книги
СД. Том 15

Жена неверного маршала, или Пиццерия попаданки

Удалова Юлия
Любовные романы:
любовно-фантастические романы
4.25
рейтинг книги
Жена неверного маршала, или Пиццерия попаданки

Мымра!

Фад Диана
1. Мымрики
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Мымра!

Идеальный мир для Лекаря 12

Сапфир Олег
12. Лекарь
Фантастика:
боевая фантастика
юмористическая фантастика
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 12

Оцифрованный. Том 1

Дорничев Дмитрий
1. Линкор Михаил
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Оцифрованный. Том 1

Элита элит

Злотников Роман Валерьевич
1. Элита элит
Фантастика:
боевая фантастика
8.93
рейтинг книги
Элита элит

Хуррит

Рави Ивар
Фантастика:
героическая фантастика
попаданцы
альтернативная история
5.00
рейтинг книги
Хуррит

Шаман. Похищенные

Калбазов Константин Георгиевич
1. Шаман
Фантастика:
боевая фантастика
попаданцы
6.44
рейтинг книги
Шаман. Похищенные

Курсант: Назад в СССР 4

Дамиров Рафаэль
4. Курсант
Фантастика:
попаданцы
альтернативная история
7.76
рейтинг книги
Курсант: Назад в СССР 4