Программирование >>  Web ориентированные приложения 

1 ... 5 6 7 [ 8 ] 9 10 11 ... 16


ответствуют положению индикатора хода работ в крайнем левом (Minimum) и крайнем правом (Maximum) положениях. Свойство Step устанавливает число, на которое увеличивается значение при каждом вызове метода PerformStep. Можно также использовать метод Increment и увеличивать значение на переданную ему величину. Свойство Value возвращает текущее значение ProgressBar.

С помощью свойства Text можно информировать пользователя о процентной доле выполнения работы или же о количестве оставшихся до ее завершения позиций. Имеется также свойство BackgroundImage, предназначенное для настройки внешнего вида индикатора выполнения.

TextBox, RichTextBox и MaskedTextBox

Элемент управления TextBox - один из наиболее часто используемых. TextBox, RichTextBox и MaskedTextBox унаследованы от TextBoxBase. Класс TextBoxBase представляет такие свойства, как MultiLine и Lines. Свойство MultiLine - булевское значение, позволяющее элементу управления TextBox отображать текст в более чем одной строке. При этом каждая строка в текстовом окне является частью массива строк. Этот массив доступен через свойство Lines. Свойство Text возвращает полное содержимое текстового окна в виде одной строки. TextLength - общая длина текста. Свойство MaxLength ограничивает длину текста определенной величиной.

SelectedText, SelectionLength и SelectionStart имеют дело с текущим выделенным текстом в текстовом окне. Выделенный текст подсвечивается, когда элемент управления получает фокус.

TextBox добавляет множество интересных свойств. AcceptsReturn - булевское значение, позволяющее TextBox воспринимать клавишу <Enter> как символ новой строки либо активизировать кнопку по умолчанию на форме. Когда это свойство имеет значение true, то нажатие <Enter> создает новую строку в TextBox. Свойство CharacterCasing определяет регистр текста в текстовом окне. Перечисление CharacterCasing содержит три значения: Lower, Normal и Upper. Значение Lower переводит в нижний регистр весь текст, независимо от того, как он был введен, Upper переводит весь текст в верхний регистр, а Normal отображает текст так, как он был введен. Свойство PasswordChar позволяет указать символ, который будет отображаться при вводе пользователем всех символов в текстовом окне. Это применяется при вводе паролей и PIN-кодов. Свойство text вернет действительный введенный текст; свойство PasswordChar касается только отображения символов.

RichTextBox - элемент управления, служащий для редактирования текста с расширенными возможностями форматирования. Как следует из его названия, RichTextBox использует Rich Text Format (RTF) для обработки специального форматирования.

Изменения формата обеспечивается свойствами SelectionFont, SelectionColor и SelectionBullet, а форматирование параграфов - свойствами SelectionIndent, SelectionRightIndent и SelectionHangingIndent. Все свойства их группы Selection работают одинаково. Если выделена часть текста, то изменение свойства касается этого выделенного фрагмента. Если же выделенного фрагмента нет, то изменения затрагивают любой текст, вставляемый справа от текущей позиции вставки.

Текст данного элемента управления может быть извлечен из свойства Text либо Rtf. Свойство Text возвращает простой текст элемента управления, в то время как Rtf - форматированный текст.

Метод LoadFile может загружать текст из файла двумя различными способами. Он может использовать либо строку, представляющую путевое имя файла, либо потоковый объект. Можно также специфицировать RichTextBoxStreamType. В табл. 31.3 перечислены значения RichTextBoxStreamType.



Таблица 31.3. Значения RichTextBoxStreamType

Значение Описание

PlainText Информация, связанная с форматированием, отсутствует. В тех мес-

тах, где находятся OLE-объекты, используются пробелы.

RichNoOleObjs Форматирование Rich Text Format, но на месте OLE-объектов нахо-

дятся пробелы.

RichText Форматированный текст RTF и OLE-объектами на месте.

TextTextOleObJs Простой текст с текстом, заменяющим OLE-объекты.

То же, что и PlainText, но в кодировке Unicode.

UnicodePlainText

Метод SaveFile работает с несколькими параметрами и сохраняет текст из элемента управления в указанном файле. Если файл с таким именем уже существует, он перезаписывается.

MaskedTextBox предоставляет возможность ограничить то, что пользователь может ввести, а также позволяет автоматически форматировать введенные данные. Несколько свойств используются для проверки допустимости формата пользовательского ввода. Mask - свойство, содержащее строку маски. Маскирующая строка аналогична строке форматирования. Допустимое количество символов, тип допустимых символов, формат данных - все это устанавливается строкой Mask. Класс, основанный на MaskedTextProvider, также может представлять необходимую информацию для форматирования и проверки. MaskedTextProvider можно устанавливать, только передавая его одному из конструкторов.

Три различных свойства возвращают текст MaskedTextProvider. Свойство Text возвращает текст, содержащийся в элементе управления в данный момент. Оно может отличаться в зависимости от того, имеет ли элемент фокус, и от значения свойства HidePromptOnLeave. Приглашение (prompt) - это строка, которую видит пользователь и которая подсказывает ему, что нужно ввести. Свойство InputText всегда возвращает только тот текст, который ввел пользователь.

Свойство OutputText возвращает текст, сформатированный на базе свойств IncludeLiterals и IncludePrompt. Если, например, маска предназначена для ввода номера телефона, то строка Mask, по всей видимости, должна включать скобки и несколько тире. Это могут быть литеральные символы, которые включаются в свойство OutputText, если свойству IncludeLiteral было присвоено значение true.

В элементе управления MaskedTextBox также присутствует пара дополнительных событий. OutputTextChanged и InputTextChanged возбуждаются, когда изменяются значения InputText или OutputText.

Panel

Panel - простой элемент управления, содержащий в себе другие элементы управления. За счет группирования вместе элементов управления и помещения их в панель существенно упрощается управление ими. Например, можно сделать недоступными все элементы управления в панели, просто сделав недоступной всю панель. Поскольку Panel наследуется от ScrollableControl, также можно воспользоваться преимуществами AutoScroll. Если в пределах доступной области нужно отобразить слишком много элементов управления, поместите их в панель и установите значение true свойству AutoScroll - после этого их можно будет прокручивать в пределах этой области.



Панели по умолчанию не отображают рамки, но, присвоив значение свойству BorderStyle, можно визуально группировать взаимосвязанные элементы управления посредством рамок. Это делает пользовательский интерфейс более дружественным.

Panel - базовый класс для FlowLayoutPanel, TableLayoutPanel, TabPage и SplitterPanel. Используя эти элементы управления, можно создавать сложные и профессионально выглядящие экранные формы или окна. FlowLayoutPanel и TableLayoutPanel особенно удобны для создания форм с изменяемым размером.

FlowLayoutPanel и TableLayoutPanel

FlowLayoutPanel и TableLayoutPanel - это новые дополнения к .NET Framework. Как можно предположить по их названиям, эти панели предоставляют возможность компоновки элементов управления с использованием той же парадигмы, что и Web Forms. FlowLayoutPanel - это контейнер, позволяющий содержащимся в нем элементам плавать либо в горизонтальном, либо в вертикальном направлении. Вместо плавания элементы панели можно закрепить. Направление размещения устанавливается свойством FlowDirection и перечислением FlowDirection.

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

TableLayoutPanel использует сеточную структуру для управления компоновкой элементов управления. Любой элемент управления Windows Forms может быть вставлен в TableLayoutPanel, включая другую панель TableLayoutPanel. Это позволяет получать очень гибкий и динамичный дизайн окон. Когда элемент управления добавляется в TableLayoutPanel, четыре дополнительных свойства добавляются в категорию Layout окна свойств. Это Column, ColumnSpan, Row и RowSpan. Во многом подобно HTML-таблице на Web-странице, для каждого элемента управления могут быть установлены промежутки между столбцами и строками. По умолчанию элемент управления центрируется в ячейке таблицы, но это можно изменить свойствами Dock и Anchor.

Стиль по умолчанию для строк и столбцов может быть изменен с помощью коллекций RowStyles и ColumnsStyles. Эти коллекции содержат, соответственно, объекты RowStyle и ColumnsStyle. Объекты Style имеют общее свойство - SizeType. Это свойство содержит значение типа перечисления SizeType, определяющее то, как должны устанавливаться ширина столбца и высота строки. Значения включают AutoSize, Absolute и Percent. Значение AutoSize разделяет пространство с другими равноправными элементами управления, Absolute позволяет установить количество пикселей размера, а Percent задает размер элемента управления в процентах от размера родительского элемента (панели).

Строки, столбцы и дочерние элементы управления могут добавляться и удаляться динамически во время выполнения. Свойство GrowStyle принимает значение из перечисления TableLayoutPanelGrowStyle, которое заставляет таблицу добавлять столбец, строку или сохранять фиксированный размер, когда новый элемент управления добавляется в полную таблицу. Если установлено значение FixedSized, то при попытке добавить элемент возбуждается исключение ArgumentException. Если же в таблице есть пустая ячейка, то элемент управления помещается в нее. Это свойство имеет эффект, только если таблица полна, и в нее добавляется элемент управления.

Форма formPanel в примере приложения содержит панели FlowLayoutPanels и TableLayoutPanels, каждая из которых содержит разнообразные эелементы управления. Экспериментируя с элементами управления, особенно со свойствами Dock и Anchor элементов управления, расположенных в панелях компоновки, вам будет легче всего понять принцип их работы.



1 ... 5 6 7 [ 8 ] 9 10 11 ... 16

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