Назад Домой! Дальше Приложение Windows Forms:
таблица синусов






Программа с графическим интерфейсом. На форме размещены окошки: начальный угол, шаг таблицы, число строк таблицы, окно для таблицы результатов, кнопка "Создать таблицу".
Результаты работы программы

Как работает приложение Windows Forms ? Оно, как и консольное приложение, начинает работу с исполнения метода Main, размещенного (по умолчанию) в файле Program.cs. Но в этом случает Main обычно показывает главную форму и на этом свою работу заканчивает. Дальнейшая работа приложения Windows Forms происходит под управлением так называемых событий: щелчков по кнопкам или пунктам меню и т п. Поэтому в этом примере на форме размещена кнопка "Создать таблицу"

Как создать приложение Windows Forms ?
- При запуске Visual Studio обычно открывается "Начальная страница". Щёлкните "Создать проект". В окне "Создать проект", в окошке "Расположение" выберите папку, внутри которой будет расположена папка проекта. Например, у меня здесь:
D:\XRAN_MY_PROGS\0_vis_stud\ . В окошке "Имя" впишите имя проекта, например, этот проект: "my0_4sin"

- Выберите тип приложения: "Приложение Windows Forms" "Visual C#". Флажки "Создать каталог" и "Добавить в систему" у меня очищены. Щелкните кнопку ОК и вы попадёте на вкладку "Form1.cs [Конструктор]". Если это не произойдёт, то щелкните в меню: Вид : Обозреватель решений. Откройте вкладку Обозреватель решений и сделайте двойной щелчок по Form1.cs. Если откроется окно кода, а не конструктора, то щёлкните в меню: Вид : Конструктор.

- В окне конструктора вы видите форму. Её размеры можно изменять мышкой. Чтобы настраивать свойства формы сделайте правый мышещелчок и из контекстного меню выберите Свойства. Появляется список свойств объекта, который вы выделили в окне крнструктора. Я обычно настраиваю следуюшие свойства главной формы:


- Далее перехожу на вкладку "Form1.cs [Конструктор]", чтобы установить на форме другие элементы. Эти элементы находятся на вкладке "Панель элементов". Наведите курсор на "Панель элементов" (слева), чтобы раскрылась Панель элементов (вначале она раскрывается с задержкой). Устанавливаю, например, надписи. Выбираю мышкой элемент класса Label, затем размещаю её на форме (щелчком или рисую прямоугольник). Перехожу в окно "Свойства", записываю свойство Text (надпись). Так установливаю три надписи: Начальный угол (град), Шаг таблицы (град), Число строк таблицы. При движении элементов появляются линии, помогающие выравнивать элементы.

- Аналогично устанавливаю окошки для ввода значений - правее надписей. Это элементы класса TextBox. Устанавливаю свойства Text, соответственно (сверху-вниз): 0, 1, 10 хотя это необязательно. Считаю полезным задавать имена элементов - для того, чтобы в окне кода легче узнавать их по именам. Установил имена TextBox, соответвтвенно: tBnac (начало), tBshag (шаг), tBstrok (число строк)

- Размещаю окошко TextBox для вывода таблицы. Устанавливаю для него свойства: ScrollBars = Vertical (вертикальная полоса прокрутки), Multiline = True (для показа нескольких строк), WordWrap = False (Запретил перенос на новую строку),

- Обработчик события - это метод, который выполняется при возникновении события, например, щелчка по кнопке. Ставлю кнопку (класс Button), заполняю свойство Text: Создать таблицу, имя (Name = btnGo), а также обработчик события Click (щелчок по кнопке, клик). Этот обработчик можно создать двойным щелчком по кнопке в окне конструктора. Более универсальный способ такой: выделить кнопку, открыть Свойства, перейти на вкладку "События" (кликнуть вверху кнопку "События" (где молния )) и в списке событий сделать двойной щелчок по строке Click. Вы перейдёте в окно редактора кода, где часть кода в окне редактора уже сформирована автоматически, в том числе и пустая заготовка для метода, являющегося обработчиком события Click. То есть этот метод btnGo_Click будет выполняться, когда пользователь кликнет кнопку "Создать таблицу". Далее обсуждается работа этого метода.

Текст программы (текст файла Form1.cs):

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 my0_4sin
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btnGo_Click(object sender, EventArgs e)
        {
            double fi0, dfi, fi, sinfi;
            int nn;
            nn = int.Parse(tBstrok.Text);
            fi0 = double.Parse(tBnac.Text) * Math.PI / 180;
            dfi = double.Parse(tBshag.Text) * Math.PI / 180;
            textBox1.Text = "";

            for (int ii = 0; ii < nn; ii++)
            { 
            fi = fi0 + dfi*ii;
            sinfi = Math.Sin(fi);
            textBox1.AppendText("Угол= " + (fi*180/Math.PI).ToString() 
              + " Sin= " + sinfi.ToString() + Environment.NewLine);
            }
        }
    }
}

Обсуждение программы (метода btnGo_Click)

Все действия, задуманные программистом, выполняются в btnGo_Click. Рассмотрим строки кода. Исправление в программе - чтобы синусы выводились с тремя цифрами правее запятой. Применено форматирование строк
textBox1.AppendText("Угол= " + (fi*180/Math.PI).ToString()
 + " Sin= " + sinfi.ToString("f3") + Environment.NewLine);

Результат форматирования строк.
Rambler's Top100
Hosted by uCoz