Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Электронный учебник по дисциплине ВМиП для спец...doc
Скачиваний:
18
Добавлен:
09.11.2019
Размер:
299.52 Кб
Скачать

6. Дополнительные элементы управления (2 часа)

Дополнительные элементы управления дополняют стандартный интерфейс Windows. Они делятся на элементы, входящие в состав среды разработки Visual Studio и элементы, разработанные сторонними производителями. Дополнительные элементы управления находятся в специальных файлах, динамически подключаемых в ходе выполнения приложения. В настоящее время разработано достаточное число элементов, специально предназначенных для использования в Visual Studio .Net. Однако пользователь в своих программах может использовать и старые элементы, разработанные для Visual Studio 6 и более ранних версий (т.н. COM- компоненты). Одиночные COM-компоненты хранятся в файлах с расширением .OCX. Новые элементы, а также наборы COM-компонентов, хранятся в файлах динамически подключаемых библиотек с расширением .DLL. В любом случае пользователь при распространении своего приложения должен включать файлы, содержащие используемые элементы, в дистрибутив своего продукта. Обычно файлы с элементами управления располагаются в папке C:\Windows\System.

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

Дополнительные элементы управления могут быть визуальными или невизуальными. Невизуальные элементы управления во время выполнения приложения не видны.

Рассмотрим некоторые из дополнительных элементов управления.

Элементы OpenFileDialog и SaveFileDialog служат для отображения стандартных диалоговых окон открытия и сохранения файлов. При этом собственно открытия и сохранения файлов не происходит, для этого необходимо писать специальный код. Основные свойства этих элементов:

  • AddExtentionлогическое свойство, определяющее, следует ли автоматически добавлять к файлу расширение, если пользователь не укажет его явно;

  • DefaultExt задает расширение, добавляемое к файлу по умолчанию;

  • CheckFileExists логическое свойство, позволяющее установить режим, при котором можно вводить только имена существующих файлов. Если значение этого свойства равно Ttue и пользователь вводит некорректное имя файла, то выдается предупреждение;

  • FileName путь и имя файла, выбранного пользователем. Если диалоговое окно закрыто кнопкой Cancel, то значение этого свойства игнорируется;

  • InitialDirectory указывает папку с файлами, используемую по умолчанию;

  • Filter указывает типы файлов, отображаемых в списке расширений, например:

текстовые файлы|*.txt|все файлы|*.*

Основные методы данных элементов:

  • OpenFile – открывает выбранный файл;

  • SaveFile – сохраняет выбранный файл;

  • ShowDialog отображает диалоговое окно открытия или сохранения файла.

Элемент управления Microsoft FlexGrid (гибкая таблица) позволяет выводить данные в табличной форме, так, как это делается в пакете Excel. Непосредственно данные в ячейки вводить нельзя, поэтому обычно на форму помещают текстовое поле, куда вводят данные, которые затем переносятся в ячейку.

Основные свойства элемента управления MSFlexGrid:

  • Cols и Rowsзадают число строк и столбцов в матрице;

  • Col и Rowзадают координаты текущего столбца и строки (нумерация начинается с нуля);

  • ColWidth и RowHeightопределяет размеры строк и столбцов;

  • CellAlignmentзадает тип выравнивания текста в ячейке;

  • Textзадает текст (значение) текущей ячейки;

  • FixedCols и FixedRowsзадают число фиксированных срок и столбцов, значение которых менять нельзя.

Основные события элемента управления MSFlexGridClick (генерируется при щелчке по элементу управления мышью) и SelectedChanged (генерируется при смене адреса текущей ячейки).

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

Элемент MonthCalendar используется для ввода и отслеживания дат. Существуют различные версии данного элемента. Основные свойства элемента управления MonthCalendar:

  • MaxDate и MinDateопределяет максимально и минимально допустимую дату;

  • SelectionRangeопределяет выбранный диапазон дат. Это составное свойство, имеет два подсвойства: Startначальная дата и Endконечная дата. Если выбирается только одна дата, то используется только одно подсвойство.

  • ShowTodayCircleлогическое свойство, позволяющее выделить текущую дату кружком;

  • ShowWeeklyNumber логическое свойство, позволяющее отображать или скрывать номера недель года;

  • TodayDate – определяет текущую дату;

  • MaxSelectioCount определяет максимальное число дней, которое может быть выбрано пользователем.

Основное событие, связанное с данным элементом – DataChahged, генерируется при смене даты.

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

Select Case Button1.Text

Case "Отобразить календарь"

MonthCalendar1.Visible = True

Button1.Text = "Скрыть календарь"

Case "Скрыть календарь"

MonthCalendar1.Visible = False

Button1.Text = "Отобразить календарь"

End Select

Элемент управления ProgressBar используется для индикации хода выполнения некоторого процесса. Основные свойства данного элемента:

  • Minimum и Maximumопределяют минимальное и максимальное значение данного элемента;

  • Step – определяет шаг изменения;

  • Value определяет текущее значение данного элемента.

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