Создание Windows-приложений на основе Visual C#

         

События мыши


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

Form1, форма, свойствоЗначение
FormBorderStyleFixed3D
Icon
Путь E:\Program Files\Microsoft Visual Studio .NET2003\Common7\Graphics\icons\Computer\W95MBX02.ICO
Size344; 176
Text Социологический опрос
label1, свойствоЗначение
Size12
Boldtrue
Location32; 28
Size272; 32
TextВы довольны своей зарплатой?
Button1, свойствоЗначение
Namebtnyes
Location67; 92
TextДа
Button2, свойствоЗначение
Namebtnno
Location195; 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; }



Содержание раздела