697

Использование графики в приложениях Windows Forms

Лабораторная работа

Информатика, кибернетика и программирование

Разработать приложение с графическим интерфейсом пользователя, которое позволяет рисовать заданную геометрическую фигуру в клиентской области главного окна, строит и отображает график заданной функции

Русский

2013-01-06

108 KB

30 чел.

МИНИСТЕРСТВО НАУКИ И ОБРАЗОВАНИЯ УКРАИНЫ

ХАРЬКОВСКИЙ НАЦИОНАЛЬНЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ

Кафедра информационных систем

Отчёт

по лабораторной работе №4

по курсу: «Объектно-ориентированное программирование»

по теме: «Использование графики в приложениях Windows Forms»

Выполнил:

студент 2 курса 5 группы

факультета ЭИ

Нгуен Вьет Дык

Проверил:
доцент кафедры ИС

Лосев М.Ю.

2012

Содержание

Условие задания---------------------------------------------------------------------------3

UML- Диаграмма--------------------------------------------------------------------------3

Задача

Исходный код программы --------------------------------------------------------------3

Примеры результатов работы программы на тестовых исходных данных----7

Вывод----------------------------------------------------------------------------------------7


Условие задания.

Варіант 14

Задание 1.

Разработать приложение с графическим интерфейсом пользователя, которое позволяет рисовать заданную геометрическую фигуру в клиентской области главного окна.

Сектор. Одинарный клик правой кнопкой мыши.

Задание 2.

Разработать приложение с графическим интерфейсом пользователя, которое строит и отображает график заданной функции.

Ctg(x), где х = от 0 до 180.

UML – Диаграмма

Исходный код программы

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;

using System.Collections;

using System.Drawing.Drawing2D;

namespace lr4

{

   public partial class MY_LR : Form

   {

     

       Dictionary<double, double> f1 = new Dictionary<double, double>();

       ArrayList points = new ArrayList();

       

       Pen pen = new Pen(Brushes.Red);

       double xmax = 180, x0 = 0;

       SolidBrush peen = new SolidBrush(Color.Green);

     

       public MY_LR()

       {

           InitializeComponent();

           

           for (double x = x0; x <= xmax; x += 1)

               f1.Add(x, (System.Math.Atan(x)));

           chart1.Series[0].Points.DataBindXY(f1.Keys, f1.Values);

           chart1.Series[0].LegendText = "функция ctg(x)";

       }

     

       private void Form1_Paint(object sender, PaintEventArgs e)

       {

           Graphics g = e.Graphics;

           pen.Width = 3;

         

           float startAngle = 0.0F;

           float sweepAngle = 275.0F;

           foreach (Point p in points) {

               

               Rectangle rect = new Rectangle(p.X, p.Y, 100, 50);

               e.Graphics.DrawPie(pen, rect, startAngle, sweepAngle);

               e.Graphics.FillPie(peen, rect, startAngle, sweepAngle);

       }

       }

       

       private void t1_Click(object sender, EventArgs e)

       {

           chart1.Visible = false;

           domainUpDown1.Visible = true;

           

           label1.Visible = true;

           label2.Visible = true;

           button2.Visible = true;

           panel1.Visible = false;

       }

     

       private void t2_Click(object sender, EventArgs e)

       {

           chart1.Visible = true;

           domainUpDown1.Visible = false;

           

           label1.Visible = false;

           label2.Visible = false;

           button2.Visible = false;

           panel1.Visible = true;

       }

    

       private void button1_Click_1(object sender, EventArgs e)

       {

           f1.Clear();

           x0 = Convert.ToDouble(numericUpDown1.Text);

           xmax = Convert.ToDouble(numericUpDown2.Text);

           if (x0 > xmax) { MessageBox.Show("Zadayte pravil'no interval", "!", MessageBoxButtons.OK); return; }

           for (double x = x0; x <= xmax; x += 1)

               f1.Add(x, ((System.Math.Atan(x))));

           chart1.Series[0].Points.DataBindXY(f1.Keys, f1.Values);

           chart1.Series[0].LegendText = "функция ctg(x)";

           if (comboBox2.Text == "Золотой")

           {

               chart1.Series[0].Color = Color.Gold;

           }

           if (comboBox2.Text == "Зеленый")

           {

               chart1.Series[0].Color = Color.Green;

           }

           if (comboBox2.Text == "Синий")

           {

               chart1.Series[0].Color = Color.Blue;

           }

           chart1.Series[0].BorderWidth = Convert.ToInt32(numericUpDown3.Value);

       }

       private void MY_LR_MouseClick(object sender, MouseEventArgs e)

       {

           if (e.Button == MouseButtons.Right)

           {

               Point p = new Point();

               p.X = e.X - 51;

               p.Y = e.Y - 23;

               points.Add(p);

           }

           Invalidate();

       }

       private void Z(object sender, EventArgs e)

       {

           if (domainUpDown1.Text == "Красный")

               pen.Color = Color.Red;

           if (domainUpDown1.Text == "Синий")

               pen.Color = Color.Blue;

           if (domainUpDown1.Text == "Черный")

               pen.Color = Color.Black;

           if (domainUpDown1.Text == "Серый")

               pen.Color = Color.Gray;

           if (domainUpDown1.Text == "Желтый")

               pen.Color = Color.Yellow;

       }

       private void button2_Click(object sender, EventArgs e)

       {  

           if (colorDialog1.ShowDialog() == DialogResult.OK)

           {              

               peen.Color = colorDialog1.Color;               

           }

       }

      

       }

           }

                

       

Результаты работы программы

Вывод: В ходе данной лабораторной работы усовершенствовал практические навыки разработки интерфейса пользователя с помощью WindowsForms, приобрела практические навыки использования библиотечных классов для работы с графикой, усовершенствовала навыки работы с интегрированной средой MS Visual Studio.


 

А также другие работы, которые могут Вас заинтересовать

1361. Насыщенный пар 258.5 KB
  Пар, находящийся в динамическом равновесии со своей жидкостью, называют насыщенным паром. Это определение подчеркивает, что в данном объеме при данной температуре не может находиться большее количество пара.
1362. Начало философии в Древней Греции 250.5 KB
  Истоки древнегреческой философии. Греческие мыслители в поисках первоначала всего сущего: милетская школа, пифагорейский союз, элейская школа. Гераклит как родоначальник диалектики. Атомизм Демокрита. Гуманистическая направленность философии софистов. Антропоцентризм и этический рационализм Сократа.
1363. Температура и тепловое равновесие 154.5 KB
  Температура характеризует состояние теплового равновесия системы тел: все тела системы, находящиеся друг с другом в тепловом равновесии, имеют одну и ту же температуру.
1364. Анализ автоматизированных систем муниципального общеобразовательного учреждения Сигаевская средняя общеобразовательная школа № 58 142 KB
  Описание автоматизированных систем, используемых в управлении предприятием. Подбор материалов по всем пунктам дипломного задания с указанием первоисточников. Изучение прав и обязанностей, системного администратора, программиста.
1365. Строительство гостиницы на территории жилого района Западная поляна в городе Пенза. 123 KB
  Описание территории жилого района Западная поляна в городе Пенза. Основные принципы проектирования. Инженерное оборудование здания. Расчет количества мест в образовательных учреждениях района Западная поляна. Предварительный баланс территории функциональной зоны жилого района.
1366. Деятельность мирового суда. Судебный участок № 1 144 KB
  Мировой суд – это первичное (низшее звено) судебной системы (судов общей юрисдикции), рассматривающее в упрощенной процедуре незначительные гражданские, административные и уголовные дела.
1367. Карданная передача 120.5 KB
  Введение, виды, классификация, особенности конструкции. Кулачковый карданный шарнир. Неисправности карданной передачи, причины и способы их устранения. Технологический процесс технического обслуживания. Охрана труда и техника безопасности при проведении ТО и ремонта.
1368. Разработка программы на языке высокого уровня 130.5 KB
  Разработать программу на языке высокого уровня и блок-схему для вычисления арифметического выражения при заданных значениях исходных данных. Составить блок-схему алгоритма и программу для вычис-ления значения функции U, зависящей от нескольких аргументов, значения которых выбираются произвольно и задаются по вводу.
1369. Информационные системы в экономике. Информационные ресурсы 127.5 KB
  Экономическая информация. Информационные ресурсы. Структура автоматизированной информационной системы. Тенденции развития рынка информационных технологий. Информационные ресурсы - это совокупность данных, организованных для получения достоверной информации в самых разных областях знаний и практической деятельности. Отдельные документы и отдельные массивы документов в информационных системах.