
- •Лабораторная работа 6 Создание windows-приложений в Visual Studio .Net Основы работы с Visual Studio .Net
- •Solution Explorer
- •Class View
- •Properties Window
- •Toolbox
- •Режимы дизайна и кода
- •Свойства проекта
- •Компиляция программы
- •Элементы управления
- •Добавляем кнопочку
- •Добавляем поле ввода и вывода
- •Добавляем выполнение математической операции
- •Добавляем картиночку
- •События мыши
- •Форматирование элементов управления
- •Создание главного меню
- •Перечисление MdiLayout
- •Вырезание, копирование и вставка текстовых фрагментов
- •Контекстное меню
- •Диалоговые окна
- •SaveFileDialog
- •OpenFileDialog и SaveFileDialog для sdi-приложений
- •FontDialog
- •ColorDialog
- •Закрывание формы
Добавляем выполнение математической операции
Слегка изменим названия кнопок, тексты надписей и некоторые свойства, как показано на Рис. 6, и изменим код обработчика события нажатия кнопки (кстати, быстрый переход к основному обработчику события контрола - двойной клик на контроле в дизайнере формы):
int viNumber=Convert.ToInt32(textBox1.Text)*5;
label1.Text="Введенное число, умноженное на 5 = "+
(Convert.ToInt32(viNumber)).ToString();
После выполнения (F5) получим результат (Рис.6):
Рис.6 Выполнение математической операции
Добавляем картиночку
И наконец немного украсим приложение, для чего поместим на форму контрол PictureBox и загрузим в него произвольную картиночку. Для чего воспользуемся свойством контрола Image (загрузка полностью аналогична загрузке иконки, которая была описана выше). Формат загружаемого файла может быть .bmp, .ico, emf, .wmf, .png, .jpg, .jpeg, .gif (в том числе и анимационные). Установим в окне Proporties свойства контрола Image:
BorderStyle - Fixed3D;
SizeMode - StretchImage;
После выполнения (F5) получим результат (Рис.7):
Рис.7 Простейшее Windows Application решение
Файл можно грузить и программно:
private void button1_Click_1(object sender, EventArgs e)
{
pictureBox1.Image = Image.FromFile(@"C:\\a\1.gif");
}
События мыши
В Интернете часто встречается шуточная программка, представляющая собой диалоговое окно с двумя кнопками. Для ответа на предлагаемый вопрос следует нажать на одну из двух кнопок, причем вторая кнопка при наведении на нее курсора начинает "убегать" от него. Создадим подобное на C#. Создаем новое Windows-приложение и называем его SocOpros. Из окна Toolbox перетаскиваем на форму две кнопки Button и надпись Label. Устанавливаем следующие свойства элементов управления и формы:
Form1, форма, свойство |
Значение |
FormBorderStyle |
Fixed3D |
Icon |
|
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 (рис. 2.2).
Рисунок 2.2 - Событие 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;
}
Запустите приложение. Теперь, при выборе "Да" появляется окно с надписью, а при попытке нажать на кнопку "Нет" она "убегает" (рис. 2.3).
Рисунок 2.3 - Готовое приложение SocOpros
С событиями мыши связано большинство инструментов во многих программах, а для некоторых, например, графических, — это основа всего взаимодействия с пользователем. Другие события мыши — такие как MouseDown, MouseEnter, MouseUp — могут быть использованы для получения необычной реакции на действия пользователя в этом приложении.