Понедельник, 2025-06-16

Professor VB - примеры на VB.net и C#
Меню сайта
Вход на сайт
Категории раздела
Уроки C# [9]
Главная » Статьи » C# » Уроки C#

C# - Урок 8 - Программное cоздание элементов.

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");
        }

        }
    }

 


 

  Если нам необходимы только некоторые кнопки, создаем дополнительные условия, для нужных кнопок.

 

---

Смотреть видео

 

В следующем уроке мы соединим полученные знания и создадим самый простой калькулятор.

и для его создания нам потребуется массив кнопок.

По этому, к следующему разу, кроме этого урока, я рекомендую повторить массивы и циклы.

 

В начало

 

 



 

Категория: Уроки C# | Добавил: ProfessorVB (2015-11-30)
Просмотров: 5526 | Теги: урок, задать цвет, Обработка нажатий клавиш, создание кнопки, палитра цветов, Создание элементов, Обработка событий, rgb, C# | Рейтинг: 5.0/1
Всего комментариев: 0
avatar
Облако тегов
Поиск
Друзья сайта
  • www.youtube.com

  • vk.com/professorvb

  • Партнерка AIR

  • Партнерка VSP Group
  • Поделись с друзьям
    Теги
    урок C# си шарп видео hello world MenuStrip Генератор имен Switch дроби решебник Алгебра системы уравнения геометрия Vb.net генератор уроки математика программа условия Math массив элементов видеоуроки добавление записи в xml анекдот поиск создать XML удалить из xml калькулятор НОД нок время дата Деструкторы конструкторы тест сокращение дробей десятичные дроби тренажер английский развитие мнемоника иностранные слова random рандом professorvb OpenFileDialog Timer mindgames цикл словарь база пароль слова cos sin комплексные числа вирус массив классы массивы многомерные Break Continue do for forEach While Обработка событий rgb задать цвет XML база данных xml количество элементов xml поиск значений xml редактирование xml создание soft AntiCenz fri-gate google pirat proxy tor запрещенные сайты Open save RichTextBox TopMost DateTimePicker календарь количество дней между датами перемешивание массива Анаграммы Меморина Ребусы Рифмоплет скорочтение Сравнение дробей использование
    Copyright ProfessorVB © 2025