C# - Урок 8 - Программное cоздание элементов.
Обработка событий созданных элементов и клавиш.
В этой статье я расскажу о програмном создании элементов. А также про обработку событий созданных элементов и нажатий на клавишу клавиатуры.
При создании программы, на форму помещаются различные элементы. У которых мы меняем свойства и задаем обработку взаимодействий с ними. Когда элементов не много, например пару текстовых полей и несколько кнопок - их проще разместить в ручную. Но если вам необходимо создать хотя бы десяток однотипных кнопок, с очень похожим взаимодействие, тогда намного легче автоматизировать этот процесс.
Для начала мы научимся помещать на форму 1 элемент - кнопку.
После создания кнопок, необходимо добавить к ним обработчик событий.
Дополнительно я расскажу об обработке событий - нажатие на клавишу клавиатуры.
Программное cоздание элементов.
Для ручного размещения элементов необходимо выбрать нужный - в панели элементов.
и перенести его на форму. По двойному клику пишем код для основного события элемента.
Для программного добавления делаем следующие.
//Создаем кнопку
Button b = new Button();
//Добавляем на форму кнопку
this.Controls.Add(b);
Таким образом мы создадим кнопку, все свойства которой будут заданы по умолчанию.
Для изменения начальных свойств добавим несколько строк.
//Создаем кнопку
Button b = new Button();
//положение
b.Top = 50;
b.Left = 60;
//текст кнопки
b.Text = "Кнопка";
//цвет кнопки
b.BackColor = Color.FromArgb(200, 12, 15);
//размер
b.Size = new System.Drawing.Size(45, 45);
//задаем шрифт -> имя - размер - стиль
b.Font = new Font("Arial", 14, FontStyle.Regular);
//добавляем на форму кнопку
this.Controls.Add(b);
Теперь на форме находится кнопка с заданными свойствами. Полный список свойств каждого элемента можно найти так: пишем название элемента, ставим точку, и нажимаем CTRL+ПРОБЕЛ. Появится меню с полным списком доступных свойств.
Если нам необходим другой элемент, то он добавляется также. Например текстовое поле
TextBox txt = new TextBox();
Обработка событий созданного элемента
Кроме создания элемента необходимо создать обработку событий, например для кнопки событие нажатие.
В код создание кнопки добавим следующую строку
//для каждой кнопки свой обработчик событий
b.Click += new EventHandler(b1);
При чем событие - b1 - может иметь любое доступное имя.
Также добавим в код обработку события:
void b1(object sender, EventArgs e)
{
MessageBox.Show("Нажатие на кнопку");
}
Естественно, вы можете создать любое событие.
Полный код выглядит так:
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 sozdanieKnopki
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
int dx = 50;
int dy = 50;
int bw = 200;
int bh = 30;
Button b = new Button();
b.Top = dy;
b.Left = dx;
b.Text = "Кнопка";
b.Size = new System.Drawing.Size(bw, bh);
//задаем шрифт -> имя - размер - стиль
b.Font = new Font("Arial", 14, FontStyle.Regular);
//добавляем на форму кнопку
this.Controls.Add(b);
//для каждой кнопки свой обработчик событий
b.Click += new EventHandler(b1);
}
void b1(object sender, EventArgs e)
{
MessageBox.Show("Нажатие на кнопку");
}
}
}
Обработку события - нажатия на клавишу клавиатуры
Раз уж мы заговорили об обработки событий, сейчас я расскажу про обработку события - нажатия на клавишу клавиатуры.
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_Load(object sender, EventArgs e)
{
{
InitializeComponent();
//добавили событие
this.KeyUp += new KeyEventHandler(OKP);
}
}
//описание обработчика события
private void OKP(object sender, KeyEventArgs e)
{
MessageBox.Show(e.KeyCode.ToString(), "Pressed");
}
}
}
Если нам необходимы только некоторые кнопки, создаем дополнительные условия, для нужных кнопок.
---
Смотреть видео
В следующем уроке мы соединим полученные знания и создадим самый простой калькулятор.
и для его создания нам потребуется массив кнопок.
По этому, к следующему разу, кроме этого урока, я рекомендую повторить массивы и циклы.
В начало
|