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.


 

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

35042. Project Studiocs Электрика 3.0 254.5 KB
  15 Введение Разработка компании Consistent Softwre САПР Project Studiocs Электрика хорошо знакома специалистам. До августа 2004 года основное внимание разработчиков было направлено на развитие существующих тогда самостоятельных модулей пакета Project Studiocs Электрика: Project Studiocs Освещение создание проектов внутреннего электрического освещения и Project Studiocs Сила создание силовой части проектов электроснабжения зданий и сооружений. В декабре 2004 года компания Consistent Softwre объявила о выходе новой версии САПР Project...
35043. CAD/CAM системы среднего уровня на примере систем Cimatron, MasterCam, Solid Edge 585.5 KB
  Реферат по САПР на тему: CD CM системы среднего уровня на примере систем Cimtron MsterCm Solid Edge.5 MsterCm. На рынке программных продуктов широко используются два типа твердотельного геометрического ядра: Prsolid CIS К наиболее известным CD CM системам среднего уровня построенным на основе ядра CIS относятся: DEM Cimtron MsterCm utoCD 2000 Powermill CDdy Brvo К наиболее известным CD CM системам среднего уровня построенным на основе ядра Prsolid относятся: ...
35044. Программное обеспечение Consistent Software ElectriCS 3D 83 KB
  Реферат на тему: Программное обеспечение Consistent Softwre ElectriCS 3D Студент: Петров И.3 Назначение ElectriCS 3D.4 Предмет автоматизации ElectriCS 3D.4 Достоинства ElectriCS 3D.
35045. Изотопы в природе 156 KB
  Основная заслуга в открытии стабильных изотопов принадлежит английскому физику Ф. он установил что инертный газ неон атомный вес 202 является смесью двух изотопов с атомными весами 20 и 22. Ученый проводил исследования на протяжении полутора десятилетий и обнаружил 210 стабильных изотопов большинства элементов. Химические элементы как правило представляют собой смесь изотопов т.
35047. Радиоэкология и ОС 99 KB
  В него не включают поступившие в окружающую среду искусственные радиоактивные вещества от испытаний ядерного оружия и от работы предприятий ядерного топливного цикла ЯТЦ. Загрязнение биосферы радионуклидами образовавшимися при испытаниях ядерного оружия. Испытания ядерного оружия в атмосфере были начаты США в 1945 г. большинство стран подписали Договор об ограничении испытаний ядерного оружия кроме подземных.
35048. ХИМИЧЕСКИЙ СОСТАВ АТМОСФЕРЫ 170.5 KB
  Отношение содержание инертных газов в атмосфере Земли к их содержанию в солнечной системе Такое различие указывает что земная атмосфера не есть производная солнечной атмосферы а образовалась при эволюции самой Земли. Если аргон третий по объему газ атмосферы выделился из горных пород значит и остальные газы могли поступить также. Особенно сильное воздействие живые организмы оказали на состав атмосферы.
35049. ГИДРОСФЕРА 118.5 KB
  Воды Мирового океана покрывают 2 3 поверхности планеты и образуют основную массу ее водной оболочки. Воды Мирового океана составляют около 93 всех вод биосферы поэтому можно считать что химический состав гидросферы в целом определяется главным образом химическим составом океанических вод. Существует мнение и не без основания что для Земли характерно постоянное присутствие воды на её поверхности. Катионы переходили сразу в раствор поэтому воды сразу же стали солеными.
35050. Биосфера Состав живого вещества 238 KB
  Сумма зольных элементов это сложный итог взаимодействия живого вещества с земной корой. Поэтому изучение зольных элементов так же важно как и определение главных элементов в организме. С целью исключения влияния сильно варьирующих количеств воды и приведения данных о содержании химических элементов к выражению удобному для сравнения рассчитывают содержание элементов на абсолютно сухое органическое вещество высушенное до постоянной массы при температуре 102 105 оС. В этом случае получают значения содержания элементов не в реальных...