Урок 1 (windows forms). Условия и множественный выбор

Работа с windows forms

Для создания приложения Windows Forms в Visual Studio 2019:
Лабораторная работа 1.
Элемент управления TextBox (текстовое поле)

Выполнить: Разработайте приложение, которое вычисляет сумму трех любых чисел при нажатии на кнопку.

Целью работы является знакомство с элементами управления visual c# textbox и button — текстовое поле и кнопка.

Пример выполнения:

[Название проекта: Lab1, название файла формы frmSumma.cs]

✍ Алгоритм:

    Инструментарий:

    объект свойство name свойство text
    форма Вычисление суммы
    кнопка (button) btnExit Выход
    текстовое поле (textbox) txtA 0
    текстовое поле (textbox) txtB 0
    текстовое поле (textbox) txtC 0
    текстовое поле (textbox) txtSumma 0
    кнопка (button) btnCount Вычислить
  1. Внимание! Называйте все объекты согласно правилам именования объектов, принятых в C#. В скобках будет указан возможный вариант для имени создаваемого объекта.
  2. Создайте новый проект (C# → Windows → Все типы проектов → Приложение Windows Forms (.Net Framework)), назовите проект Урок 4 Лаб 4, а его форму — frmSumma (окно Свойства → свойство (Name)).
  3. Создайте и запрограммируйте на форме кнопку Выход (btnExit). Для этого в окне Toolbox разверните свиток All Windows Forms и дважды щелкните по элементу button. На форме появилась кнопка. Для того, чтобы запрограммировать кнопку, дважды щелкните по ней на форме — открылась новая вкладка с кодом для кнопки. Введите код:
  4.  private void btnExit_Click(object sender, EventArgs e)
            {
                this.Close(); // эта строка - ваш введенный код
            }
  5. Запустите приложение и убедитесь, что кнопка работает.
  6. Верните во вкладку с дизайном формы. Создайте три элемента управления Textbox (txtA, txtB, txtC) для слагаемых. Задайте свойство Text для этих элементов управления, равное 0 (в окне PropertiesText).
  7. Создайте еще один элемент управления TextBox (txtSumma) (размеры и расположение кнопок см. выше рис «форма Вычисление_суммы»).
  8. Создайте кнопку Вычислить (btnCount).
  9. Запрограммируйте событие Click для кнопки Вычислить следующим образом (дважды щелкните по кнопке на форме, чтобы запрограммировать событие):
  10. private void btnCount_Click(object sender, EventArgs e)
            {
           // здесь начинается ваш код
                int summa = Int32.Parse(txtA.Text) + 
                   Int32.Parse(txtB.Text) + Int32.Parse(txtC.Text);
                txtSumma.Text = summa.ToString();
           // здесь ваш код закончился
            }
    где Parse – функция преобразования строкового значение в целое число;
  11. Задайте надписи для кнопок («Вычислить» и «Выход»), изменив их свойство Text.
  12. Запустите приложение, введите значения для слагаемых и посмотрите, что произойдет, если Вы нажмете на кнопку Вычислить.
  13. Сохраните проект. Найдите на компьютере папку с проектом. Загрузите в moodle два файла: 1) файл frmSumma.cs 2) В папке bin → Debug файл с расширением .exe. Либо загрузите архив всей папки с проектом.

Контрольное задание. Разработайте приложение, которое вычисляет:

  • площадь треугольника по трем сторонам;
  • площадь прямоугольника по двум сторонам;
  • площадь треугольника по двум сторонам и углу между ними;
  • процент от числа.

[Название проекта: Lesson_4ExTask0, название формы L4ExTask0.cs]

Лабораторная работа 2.
Элемент управления ListBox (список), свойства и методы списка, программирование с ветвлением

Измените свойство Backcolor (Задний фон) текстового поля при помощи элемента управления ListBox – список

Целью работы является ознакомление с элементом управления в visual c# Listbox. Изучаются свойства добавления и удаления пунктов списка listbox. Вводится понятие программирования с ветвлением.

Пример выполнения:

[Название проекта: Lab2, название файла формы Lab2.cs]

✍ Алгоритм:

Инструментарий:

объект свойство name свойство text
форма
кнопка (button) btnExit Выход
текстовое поле (textbox) txt
список (ListBox) lst
  1. Поместите на новую форму текстовое поле TextBox c именем txt и элемент управления Список ListBox . Назовите его lst (свойство Name).
  2. На панели свойств элемента управления ListBox выберите свойство (атрибут) Items и задайте для него четыре пункта списка (нажимая на Enter после каждого пункта): черный, красный, синий, зеленый.
  3. Теперь запрограммируйте событие SelectedIndexChanged (изменение пункта списка) для списка, таким образом, чтобы при нажатии на определенный пункт c цветом, цвет текстового поля менялся бы на соответствующий. Используйте при этом оператор Visual c# If:
  4. private void lst_SelectedIndexChanged(object sender, EventArgs e)
            {
               // ваш код:
                if (lst.SelectedItem == "black")
                {
                    txt.BackColor = System.Drawing.Color.Black;
                }
                else if (lst.SelectedItem == "red")
                {
                    txt.BackColor = System.Drawing.Color.Red;
                }
                else if (lst.SelectedItem == "blue")
                {
                    txt.BackColor = System.Drawing.Color.Blue;
                }
                else if (lst.SelectedItem == "green")
                {
                    txt.BackColor = System.Drawing.Color.Green;
                }
            // здесь ваш код закончился
            }
      
    System – пространство имен;
    Drawing — пространство имен, обеспечивающее доступ к функциональным возможностям графического интерфейса
    Событие SelectedIndexChanged происходит при выделении различных пунктов в элементе управления списка данных между отправками к серверу.
  5. Все работает, но теперь мы рассмотрим второй способ задания пунктов списка: с помощью программного кода.
  6. Удалите все цвета из атрибута Items элемента управления lst. Теперь необходимо добавить в обработку события Load формы (загрузка формы) следующий код (дважды щелкните на пустом месте дизайна формы, чтобы открыть код):
  7. private void Form1_Load(object sender, EventArgs e)
            {
                // ваш код:
                lst.Items.Add("black");
                // ... добавьте другие цвета
            }
  8. Запустите и отладьте программу.

Контрольное задание.
Добавьте ListBox для изменения ширины (атрибут Width) текстового поля: минимальная — 20, средняя – 50, максимальная — 100.

Примечание: использовать свойство текстового поля Size, и System.Drawing.Size(значение ширины, значение высоты)

[Название проекта: ExTaskLab2, название формы ExTaskLab2.cs]

Лабораторная работа 3.
Разработайте приложение, которое изменяет задний фон текстового поля из предыдущего занятия, реализовав эту функцию с помощью меню формы
Целью данного урока является ознакомление с элементом управления MenuStrip при работе в visual c++ с формами.

Пример выполнения:
c++ меню menuStrip

[Название проекта: Lab3, название файла формы Lab3.cs]

✍ Алгоритм:

Инструментарий:

объект свойство name
форма
меню формы (MenuStrip) MenuStrip1
  1. Для создания меню на панели инструментов выберите MenuStrip . Дважды кликните на появившемся в нижней области окна объекте, а затем перейдите на форму и в области (Вводить здесь) введите меню верхнего уровня с текстом Цвет.
  2. Переместитесь на нижнюю область и введите текст Черный. Заполните элемент MenuStrip следующим образом:

  1. Запустите программу и поэкспериментируйте: выбирайте разные элементы созданного объекта.
  2. Запрограммируйте событие Click для каждого пункта; например, для элемента Черный необходимо написать следующий код (дважды щелкнув на пункте, чтобы открыть код):
private void ЧерныйToolStripMenuItem_Click(object sender, EventArgs e)
{
  this.txt.BackColor=System.Drawing.Color.Black;
}
  1. Запрограммируйте аналогично остальные пункты Цвет.
  2. Запустите и отладьте приложение. Сохраните проект.
Дополнительное задание:

  1. При выборе какого-либо пункта сделайте его недоступным для повторного выбора (свойство Enabled=false).
  2. Выполните дополнительное задание из занятия № 1, реализовав функцию с помощью MenuStrip.
Вопросы для самоконтроля:

  1. Каково основное назначение объекта MenuStrip?
  2. Как запрограммировать необходимый пункт меню формы в Visual c++?
  3. Какое свойство служит для изменения фона объекта?
  4. С помощью какого свойства menu можно сделать недоступным какой-либо пункт?