
- •17.0. Приложение под осWindows
- •17.1. Основные характеристики
- •17.2. Окно Конструктора формы
- •17.3. Окно Редактора кода
- •18.1. Характеристика проекта
- •18.2. Сохранение проекта – приложения под Windows
- •18.3. Запуск и компиляция приложения
- •18.4. Шаблон кода:
- •19.0. Разработка приложения
- •19.1. Простейшее приложение
- •19.2. Создание интерфейса приложения
- •19.3. Определение функциональности приложения
- •19.4. Отладка
- •Классификация ошибок
- •В процессе выполнения программы возникают ошибки следующих видов:
19.1. Простейшее приложение
Представляет собой заготовку, обеспечивающую все необходимое для приложения. Это форма, для которой уже созданы файлы с описанием формы и шаблоном кода.
Форма
отображается при первом запуске ИСР и
содержит основные элементы окнаWindows:
заголовок Form1,
кнопки минимизации, максимизации и закрытия окна, изменения размеров окна и кнопку вызова системного меню.
При создании приложений на форму помещаются компоненты, для которых устанавливаются свойства и создаются обработчики событий.
К простейшему приложению разработчик может добавлять другие формы (Form2…). Например, графический интерфейс с выводом двух функцийSin(x) иCos(x):
Form1
Form2
19.2. Создание интерфейса приложения
Интерфейс приложения составляют компоненты.
Свойствакомпонента это атрибуты, определяющие способ отображения и функционирования компонент.
Для изменениязначения свойств с помощью Окна элементов необходимо:
щелкнуть мышью по его имени в левой колонке страницы Свойство;
установить значение в соответствующей ячейке правой колонки:
нажать клавишу <Enter>,
Т С П И С О К
простые– это те, значения которых являются числами или строками. Например, Text, Name, Left, Top,Width, Height;
п
еречисляемые – это те, которые могут принимать значения из предложенного набора (списка). Например, типBool принимает значениеTrueилиFalseилиForeColor список цветов
вложенные – это те, которые поддерживают вложенные значения (или объекты). Имеются два вида:множества(…) Например,Itemsикомбинированныезначения ( + )..
Изменять свойства объектам можно двумя способами:
С помощью Окна Свойства (в режиме проектирования приложения – задаются стартовые значения свойств компонентов);
Программно – путем создания адекватных процедур с соответствующими строками кода (переопределение свойств в процессе выполнения).
При выполнении приложения свойства компонентов можно изменять с помощью операторов присваивания.
Например,
изменение программно надписи кнопки Button1:
button1.Text = " Решить"; //надпись кнопки
изменение размеров многострочного редактора richTextBox1:
richTextBox1.Height= 100; // высота
richTextBox1.Width= 150; // ширина
изменение текста и цвета шрифта в метке label1:
label1.Text = "Студент"; //текст со словом Студент
label1.ForeColor=Color.Red; //цвет шрифта красный
Объект.Свойство
= Значение свойства
19.3. Определение функциональности приложения
Событие– это то, что происходит во время работы программы. ВC# каждому событию присваивается имя.
Реакцияокна наразного рода действия пользователя определяетфункциональностьприложения.
Обработчик событий– определяет действие, которое можно поручить выделенному компоненту. Каждый компонент имеет набор стандартных обработчиков событий, отображающихся в Окне Свойство на вкладке События.
Чтобы при нажатии на кнопке "Закрыть" кнопка реагировала на событие завершения работы, необходимо создать процедуру обработки события, которая будет вызываться при возникновении данного события (например, OnClick).
1) выделить на форме компонент;
2) перейти на страницу событийОкна Свойства;
3) сделать двойной щелчок в области значения события, например OnClick, ( ИСР автоматически создаст в модуле формы заготовку процедуры-обработчика).
4) в редакторе кода, вместе, где установится курсор написать код, который будет выполняться при нажатии кнопки Button1, т.е набрать строкуClose();
При наборе кода включается интерактивный подсказчик, который лучше использовать для избегания ошибок в наборе слов.
Все остальное среда создает автоматически.
Обработчики щелчкапо объектам, напримерButton1Click, можно создать и быстрее, путем двойного щелчка по объекту, находящемуся на Форме.
private void button1_Click(object sender, EventArgs e)
Слова
Private– методзакрыти предназначен для внутреннего использования в классе
void– начало метода – процедура,
Button1_Click– собственно имя процедуры,
() – список параметров.
Для удаленияпроцедуры-обработчика достаточно удалить заготовку и код, который программист вносил в нее самостоятельно. После этого при сохранении или компиляции модуля обработчик будет удален автоматически из всех файлов проекта.
Пример. Создать проект для изучения некоторых простых свойств объектов.
Последовательность действий:
Создаем Приложение WindowsForms.
Устанавливаем на форму нужные компоненты
Устанавливаем стартовые значения объектам, например Кнопке надпись Задача.
Создаем обработчик события Form1_Activated– (активизация формы) при исполнении которого свойства объектов меняются программно на иные.
Отлаживает проект путем устранения синтаксических ошибок.
Проверяет полученные результаты на соответствие поставленной задачи.
3. Изменяет значения Textкнопкиbutton1 на надпись Пример
4. Создаем обработчик события Form1_Activatedдля выделенной ФормыForm1
Записываем код процедуры Form1_Activated.
4. Создаем обработчик события button1_Click для выделенной кнопки button1
Записываем код процедуры button1_Click. Аналогично для button2.
Листинг программы:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Activated(object sender, EventArgs e)
{
button1.Text = "Задача"; // надпись на кнопке
richTextBox1.Height = 100; // высота объекта
richTextBox1.Width = 150; // ширина объекта
label1.ForeColor=Color.Red; // цвет шрифта красный
label1.Text = "Студент"; // вывод текста
label1.ForeColor=Color.Red; // цвет шрифта красный
richTextBox1.Text = "Мы изучаем C#";// вывод текста
}
private void button1_Click(object sender, EventArgs e)
{
label1.Text = "Студент ПГУТИ"; // вывод текста
richTextBox1.ForeColor = Color.Blue; // цвет шрифта синий
richTextBox1.Text = "Мы активно работаем"; //вывод текста
}
private void button2_Click(object sender, EventArgs e)
{
Close(); // закрытие формы
}
}
}
Результат исполнения: Активизация формы и Щелчок по кнопке «Задача»