Шрифт:
• Hide. Скрывает элемент управления, устанавливая для его свойства Visible значение false (ложь).
• Show. Делает элемент управления видимым, устанавливая для его свойства Visible значение true (истина).
• Invalidate. Заставляет элемент управления обновить свое изображение, посылая событие Paint.
Несомненно, класс Control определяет и другие свойства, методы и события в дополнение к тем, которые вы только что рассмотрели. Но и сейчас вы должны иметь достаточно хорошее представление об общих функциональных возможностях этого базового класса. Давайте рассмотрим примеры, позволяющие увидеть указанный класс в действии.
Использование возможностей класса Control
Чтобы продемонстрировать возможности применения некоторых членов класса Control, давайте построим новую форму, способную обеспечивать следующее.
• Отвечать на события MouseMove и MouseDown.
• Выполнять захват и обработку ввода с клавиатуры, реагируя на событие KeyUp.
Для начала создайте новый класс, производный от Form. В конструкторе, заданном по умолчанию, мы используем различные наследуемые свойства, чтобы задать исходный вид и поведение формы. Обратите внимание на то, что здесь нужно указать использование пространства имён System.Drawing поскольку необходимо получить доступ к структуре Color (пространство имен System.Drawing будет рассмотрено в следующей главе).
Скомпилируйте это приложение в его текущем виде, просто чтобы проверить что вы не допустили никаких опечаток.
Ответ на события MouseMove
Далее, мы должны обработать событие MouseMove. Целью является отображение текущих координат (x, у) указателя в области заголовка формы. Все связанные с состоянием мыши события (MouseMove. MouseUp и т.д.) работают в паре с делегатом MouseEventHandler, способным вызвать любой метод, соответствующий следующей сигнатуре.
Поступающая на вход структура MouseEventArgs расширяет общий базовый класс EventArgs путем добавления целого ряда членов, специально предназначенных для обработки действий мыши (табл. 19.6).
Таблица 19.6. Свойства типа MouseEventArgs
Свойство | Описание |
---|---|
Button | Содержит информацию о том, какая клавиша мыши была нажата, в соответствии с определением перечня MouseButtons |
Clicks | Содержит информацию о том, сколько раз была нажата и отпущена клавиша мыши |
Delta | Содержит значение со знаком, соответствующее числу щелчков, произошедших при вращении колесика мыши |
X | Содержит информацию о координате х указателя при щелчке мыши |
Y | Содержит информацию о координате у указателя при щелчке мыши |
Вот обновленный класс MainForm, в котором обработка события MouseMove происходит так, как предполагается выше.
Если теперь запустить программу и поместить указатель мыши на форму, вы увидите текущие значения координат (х, у) указателя, отображенные в области заголовка соответствующего окна (рис. 19.4).
Рис. 19.4. Мониторинг движения мыши
Регистрация щелчков кнопок мыши