Среда, 2025-01-22

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)
Просмотров: 5426 | Теги: Урок, задать цвет, Обработка нажатий клавиш, создание кнопки, палитра цветов, Создание элементов, Обработка событий, RGB, C# | Рейтинг: 5.0/1
Всего комментариев: 0
avatar
Облако тегов
Поиск
Друзья сайта
  • www.youtube.com

  • vk.com/professorvb

  • Партнерка AIR

  • Партнерка VSP Group
  • Поделись с друзьям
    Теги
    Видео Switch массивы уравнения геометрия continue forEach while Обработка событий задать цвет C# math Vb.net xml количество элементов xml поиск значений математика видеоуроки Soft системы Google pirat Proxy tor НОД нок добавление записи в xml поиск Уроки генератор hello world время деструкторы конструкторы дроби калькулятор десятичные дроби решебник сокращение дробей си шарп мнемоника тренажер random количество дней между датами professorvb дата Урок mindgames алгебра многомерные слова словарь Пароль cos SIN база timer рандом Цикл Break DO for RGB условия массив элементов xml редактирование xml создание вирус MenuStrip AntiCenz fri-gate запрещенные сайты база данных Open RichTextBox XML удалить из xml save TopMost анекдот создать XML Классы Тест OpenFileDialog английский развитие иностранные слова DateTimePicker календарь массив перемешивание массива Анаграммы Рифмоплет Сравнение дробей Меморина скорочтение Использование ребусы комплексные числа программа генератор имен
    Copyright ProfessorVB © 2025