s = pStr.ToString();
poGraphics.DrawString(s, this.Font, pStdBrush, x, y);
}
}
Программа 4: Создадим шуточную программу, представляющую собой диалоговое окно с двумя кнопками. Создаем новое Windows-приложение и называем его SocOpros. Из окна Toolbox перетаскиваем на форму две кнопки Button и надпись Label. Устанавливаем следующие свойства элементов управления и формы (табл. 3.4):
Таблица 3.4 - Описание формы приложения
Form1, форма, свойство | Значение |
FormBorderStyle | Fixed3D |
Icon | Путь С:\Program Files\Microsoft Visual Studio 8\Common7\ VS2008ImageLibrary\icons\.... |
Size | 344; 176 |
Text | Социологический опрос |
Label1, свойство | Значение |
Size | |
Bold | True |
Location | 32; 28 |
Size | 272; 32 |
Text | Вы довольны своей зарплатой? |
Button1, свойство | Значение |
Name | Btnyes |
Location | 67; 92 |
Text | Да |
Button2, свойство | Значение |
Name | Btnno |
Location | 195; 92 |
Text | Нет |
Щелкаем дважды по кнопке "Да". В обработчике этой кнопки вставляем следующий код:
void btnyes_Click(object sender, EventArgs e){
MessageBox.Show("Мы и не сомневались, что Вы так думаете!");
}
Выделяем кнопку "Нет". Открываем окно Properties. Переключаемся в окно событий и дважды щелкаем в поле MouseMove.
|
|
Рисунок 3.6 - Событие MouseMove для кнопки btnno
В обработчике этого события связываем движение мыши с координатами кнопки и устанавливаем координаты кнопки, куда она будет возвращаться, если во время своего движения выйдет за указанную область:
private void Btnno_MouseMove(object sender, 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;
}
С событиями мыши связано большинство инструментов во многих программах, а для некоторых, например, графических, — это основа всего взаимодействия с пользователем. Другие события мыши — такие как MouseDown, MouseEnter, MouseUp — могут быть использованы для получения необычной реакции на действия пользователя в этом приложении.