Основы работы с Visual Studio. Net

Вид материалаДокументы

Содержание


События мыши
Form1, форма, свойство
Button1, свойство
Button2, свойство
Подобный материал:
1   2   3   4   5   6   7   8   9

События мыши


В Интернете часто встречается шуточная программка, представляющая собой диалоговое окно с двумя кнопками. Для ответа на предлагаемый вопрос следует нажать на одну из двух кнопок, причем вторая кнопка при наведении на нее курсора начинает "убегать" от него. Вы можете встретить реализацию этой шутки, написанную на многих языках — от C до Flash-приложений. Сделаем что-то подобное на C#. Создаем новое Windows-приложение и называем его SocOpros. Из окна Toolbox перетаскиваем на форму две кнопки Button и надпись Label. Устанавливаем следующие свойства элементов управления и формы:

Form1, форма, свойство

Значение

FormBorderStyle

Fixed3D

Icon

Путь E:\Program Files\Microsoft Visual Studio .NET2003\Common7\Graphics\icons\Computer\W95MBX02.ICO

Size

344; 176

Text

Социологический опрос

label1, свойство

Значение




Size

12




Bold

true




Location

32; 28




Size

272; 32




Text

Вы довольны своей зарплатой?







Button1, свойство

Значение

Name

btnyes

Location

67; 92

Text

Да

Button2, свойство

Значение

Name

btnno

Location

195; 92

Text

Нет

Щелкаем дважды по кнопке "Да". В обработчике этой кнопки вставляем следующий код:

private void btnyes_Click(object sender, System.EventArgs e)

{

MessageBox.Show("Мы и не сомневались, что Вы так думаете!");

}

Выделяем кнопку "Нет". Открываем окно Properties. Переключаемся в окно событий и дважды щелкаем в поле MouseMove (рис. 1.40).

Рис. 1.40.  Событие MouseMove для кнопки btnno Надпись на информационной панели — "Происходит, когда мышь перемещается"

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

private void btnno_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)

{

btnno.Top -= e.Y;

btnno.Left += e.X;

if (btnno.Top < -10 || btnno.Top > 100)

btnno.Top = 60;

if (btnno.Left < -80 || btnno.Left > 250)

btnno.Left = 120;

}

Запустите приложение. Теперь, при выборе "Да" появляется окно с надписью, а при попытке нажать на кнопку "Нет" она "убегает" (рис. 1.41).

Рис. 1.41.  Готовое приложение SocOpros

С событиями мыши связано большинство инструментов во многих программах, а для некоторых, например, графических, — это основа всего взаимодействия с пользователем. Другие события мыши — такие как MouseDown, MouseEnter, MouseUp — могут быть использованы для получения необычной реакции на действия пользователя в этом приложении.

На диске, прилагаемом к книге, вы найдете приложение SocOpros (Code\Glava1\ SocOpros ).