Uploaded by Наталья Голоборщева

Обработчик событий, Вывод в графику

advertisement
События в Windows Forms. События формы
Для взаимодействия с пользователем в Windows Forms используется механизм событий.
События в Windows Forms представляют стандартные события на C#, только применяемые к
визуальным компонентам и подчиняются тем же правилам, что события в C#. Но создание
обработчиков событий в Windows Forms все же имеет некоторые особенности.
Прежде всего в WinForms есть некоторый стандартный набор событий, который по большей
части имеется у всех визуальных компонентов. Отдельные элементы добавляют свои события,
но принципы работы с ними будут похожие. Чтобы посмотреть все события элемента, нам
надо выбрать этот элемент в поле графического дизайнера и перейти к вкладке событий на
панели форм. Например, события формы:
Чтобы добавить обработчик, можно просто два раза нажать по пустому полю рядом с
названием события, и после этого Visual Studio автоматически сгенерирует обработчик
события. Например, нажмем для создания обработчика для события Load:
И в этом поле отобразится название метода обработчика события Load. По умолчанию он
называется Form1_Load.
Если мы перейдем в файл кода формы Form1.cs, то увидим автосгенерированный метод
Form1_Load:
1
2
3
4
5
6
7
8
9
10
11
12
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
}
И при каждой загрузке формы будет срабатывать код в обработчике Form1_Load.
Как правило, большинство обработчиков различных визуальных компонентов имеют два
параметра: sender - объект, инициировавший событие, и аргумент, хранящий информацию о
событии (в данном случае EventArgs e).
Но это только обработчик. Добавление же обработчика, созданного таким образом,
производится в файле Form1.Designer.cs:
1
2
3
4
5
6
namespace HelloApp
{
partial class Form1
{
private System.ComponentModel.IContainer components = null;
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
private void InitializeComponent()
{
this.SuspendLayout();
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(284, 261);
this.Name = "Form1";
// добавление обработчика
this.Load += new System.EventHandler(this.Form1_Load);
this.ResumeLayout(false);
}
}
}
Для добавления обработчика используется стандартный синтаксис C#: this.Load += new
System.EventHandler(this.Form1_Load)
Поэтому если мы захотим удалить созданный подобным образом обработчик, то нам надо не
только удалить метод из кода формы в Form1.cs, но и удалить добавление обработчика в этом
файле.
Однако мы можем добавлять обработчики событий и програмно, например, в конструкторе
формы:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
using
using
using
using
using
using
using
using
using
System;
System.Collections.Generic;
System.ComponentModel;
System.Data;
System.Drawing;
System.Linq;
System.Text;
System.Threading.Tasks;
System.Windows.Forms;
namespace HelloApp
{
public partial class Form1 : Form
{
public Form1()
{
17
18
19
20
21
22
23
24
25
26
27
28
29
30
InitializeComponent();
this.Load += LoadEvent;
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void LoadEvent(object sender, EventArgs e)
{
this.BackColor = Color.Yellow;
}
}
}
Кроме ранее созданного обработчика Form1_Load здесь также добавлен другой обработчик
загрузки формы: this.Load += LoadEvent;, который устанавливает в качестве фона желтый
цвет.
TextBox Control
Управление текстовым ящиком используется для принятия и отображения ввода в
качестве единой строки текста. Этот элемент управления имеет дополнительную
функциональность, которая не содержится в стандартном управлении текстовым
ящиком Windows, включая многолинейное редактирование и маскировку символов
паролей.
Элементы управления WinForms TextBox используются для ввода данных от
пользователя и отображения входных данных.
Управление TextBox обычно используется для редактирования текста, но оно также
может быть настроено только для чтения. TextBoxes используются для отображения
нескольких строк обертывания текста размером с элемент управления. Управление
TextBox позволяет использовать единый формат текста, отображаемого или введенного
в него.
ШАГ 1 Начало проекта Давайте создадим новый проект с помощью Visual Studio 2017.
Выберите новый проект ---gt;Visual C'---'gt;Windows Forms App (.NET Framework), дайте
вашему проекту имя и нажмите OK. Это действие создает проект WinForms с формой по
умолчанию, и вы должны увидеть дизайнера Windows. ШАГ 2 - Перетащите и drop
Control
Давайте добавим управление TextBox в форму, перетащив его из toolbox и опустив его в
форму.
Вы увидите, что TextBox 1 добавляется в форму. Этот элемент управления теперь
доступен вам в коде позади.
Теперь давайте добавим еще один элемент управления в форму, перетащив другой
элемент управления из Toolbox в
форму. Вы также можете изменить свойства других элементов управления. Давайте
добавим в форму метку и элемент управления кнопкой.
Измените текст кнопки и управление этикеткой на то, что вам
нравится. ШАГ 3 - Кодирование
для кнопки Нажмите событие Вы можете добавить кнопку нажмите событие
обработчик, просто дважды нажав на кнопку управления.
1. public partial class Form1 : Form
2.
{
3.
public Form1()
4.
{
5.
InitializeComponent();
6.
}
7.
8.
private void button2_Click(object sender, EventArgs e)
9.
{
10.
MessageBox.Show(textBox1.Text);
11.
}
12.
13.
private void textBox1_TextChanged(object sender, EventAr
gs e)
14.
{
15.
16.
}
17.
18.
private void label1_Click(object sender, EventArgs e)
19.
20.
21.
22.
23.
24.
25.
26.
27.
{
}
private void button1_Click(object sender, EventArgs e)
{
textBox1.Text = DateTime.Now.ToString();
}
}
ШАГ 4 - Компиляция и запуск
Теперь просто составить и запустить приложение.
Как только вы нажмете на кнопку Set Time, время и дата будут отображаться в TextBox.
Как только вы нажмете на кнопку Get Time, время и дата будут отображаться в
СообщенииBox.
Сводка
Download