Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lektsii_200309.doc
Скачиваний:
39
Добавлен:
24.12.2018
Размер:
4.38 Mб
Скачать

Свойство Anchor

Свойство Anchor можно задавать для любого элемента управления во время разработки, как и любое другое свойство. Для этого выберите свойство Anchor в окне Properties и щелкните расположенную рядом кнопку после чего откроется небольшое окно, в котором можно выставить необходимое значение свойства. Окно позволяет выбрать границы, к которым прикрепляется элемент управления. По умолчанию для этого свойства принято значение Top, Left. Оно заставляет выдерживать постоянное расстояние между левой и верхней границами формы и соответствующими границами элемента управления. Поскольку при изменении размеров формы редактируется положение ее нижнего правого угла, значение Top, Left в сущности заставляет сохранять положение элемента управления при корректировке размеров формы.

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

Свойство Dock

Прикрепление элемента управления к границе его родительского элемента (контейнера) называется стыковкой (docking). Обычно родительским элементом управления назначают форму, но им может быть и другой элемент управления, например Panel и Tab, в качестве пристыкованного элемента управления можно выбрать например, меню, расположенное вверху формы.

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

Для назначения свойства Dock достаточно щелкнуть в этом окне полоску, соответствующую месту стыковки элемента управления. Например, если элемент управления следует пристыковать к верхней части формы, щелкните верхнюю горизонтальную полоску. Чтобы отменить стыковку, щелкните None. Если щелкнуть центральный квадрат в окне установки свойства Dock, элемент управления заполнит всю форму. Если свойство Dock для некоторого элемента управления определено, его свойство Anchor автоматически принимает значение Top, Left.

Чтобы задать параметры стыковки для элемента управления необходимо: в окне Properties выбрать свойство Dock после чего откроется окно установки свойства Dock. В этом окне необходимо щелкнуть соответствующую полоску, чтобы задать для свойства требуемое значение.

Обработка событий

Обработчик события (event handler) — это метод, исполняемый при генерации события. Например, в обработчик события Deactivate можно вставить код, проверяющий заполнение обязательных полей формы.

Обработчик для события, генерируемого формой, создают средствами интерфейса VisualStudio.NET.

События представляют происшествия в ходе исполнения программы. Все элементы управления способны генерировать разнообразные события, отражающие те или иные обстоятельства взаимодействия с пользователем, Рассмотрим пример — щелчок мыши. Когда он происходит, приложение генерирует событие ButtonClick, ищет методы, обрабатывающие это событие и, если таковые обнаружатся, исполняет их. Такие методы называются обработчиками события (event handlers).

Обработчики событий создаются для исполнения некоторых действий в ответ на действия пользователя. Для каждого элемента управления задано событие по умолчанию, в качестве которого выбрано то, что генерируется этим элементом управления чаще всего. Например, событие по умолчанию для элемента управления

Button-Click, для Checkbox-CheckChanged. Для создания обработчика события по умолчанию достаточно дважды щелкнуть элемент управления в окне дизайнера.

Помимо события по умолчанию, элементы управления способны генерировать множество других полезных событий. Например, событие MouseОwer позволяет изменять текст, отображаемый элементом управления, когда над ним находится указатель мыши; события Validate и Validating обеспечивают поддержку проверки введенных пользователем данных. Ряд других событий расширяет возможности пользовательского интерфейса и представляет пользователям разнообразную информацию. Как правило, по названию события легко догадаться, в каких случаях событие генерируется.

Обработчики событий элементов управления и формы пишут аналогично.

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

  2. В окне Properties щелкните кнопку Events - откроется список доступных событий.

  3. Найдите нужное событие и дважды щелкните его.

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

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

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

Для реализации этой функциональности потребуется использование двух событий формы: MouseHover и MouseLeave. Эти события можно найти в пречне, который появляется после нажатия кнопки с молнией на панели properties.

Выделим событие MouseHover и двойным щелчком мыши откроем код события, в котором впишем следующее:

private void Form1_MouseHover(object sender, EventArgs e)

{

this.BackColor =System.Drawing.Color.Red;

}

Аналогичным образом поступаем с событием MouseLeave:

private void Form1_MouseLeave(object sender, EventArgs e)

{

this.BackColor = System.Drawing.Color.Green;

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]