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.


 

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

13673. Неравенство - такой же хороший закон природы, как и всякий другой 14.56 KB
  Неравенство такой же хороший закон природы как и всякий другой. И.Шерр Все формы общности людей можно разделить на естественноисторические этноисторические и социально исторические. Естественно исторические формы общности людей это раса поколение пол и т.д...
13674. Неравенство – такой же хороший закон природы, как и всякий другой. И. Шерр 16.69 KB
  Неравенство такой же хороший закон природы как и всякий другой И. Шерр. Как следует понимать слова известного немецкого публициста и общественного деятеля 18 в. Иоганна Шерра Шерр говорит что неравенство является таким же хорошим законом природы как и всякий дру
13675. Никакая нация не может достичь процветания, пока не осознает, что пахать поле – такое же достойное занятие, как писать поэму 13.67 KB
  Никакая нация не может достичь процветания пока не осознает что пахать поле такое же достойное занятие как писать поэму В. Букер Социология Я полностью разделяю мнение автора так как в нашем веке информационных технологий большое внимание уделяется умственному
13676. Общество – свод камней, который обрушился бы, если бы один не поддержал другого 14.8 KB
  Общество свод камней который обрушился бы если бы один не поддержал другого СенекаФраза Сенеки для меня является ключом к ответу на вопрос что же такое общество. Существует много определений понятия общества. Рассмотрим одно из них. Общество это динамическая сист...
13677. Примеры эссе по курсу обществознания. Общество – свод камней, который обрушился бы, если бы один не поддерживал другого 18.33 KB
  Общество свод камней который обрушился бы если бы один не поддерживал другого Сенека. Эссе № 1Я не согласна с данной точкой зрения. Вопервых общество понятие многозначное. Общества бывают разные. Я сама столкнулась в жизни с одной ситуацией. В городе есть два обще
13678. Подлинное национальное самосознание может быть лишь творческим, оно обращено вперед, а не назад 14.46 KB
  Подлинное национальное самосознание может быть лишь творческим оно обращено вперед а не назад.Н. БердяевПод национальным самосознанием понимается отражение сознаниянации в индивидуальном сознании ее членов выражающих усвоениепоследними представлений о месте и р
13679. Положительное и отрицательное влияние маргинальности на общество 16.55 KB
  Положительное и отрицательное влияние маргинальности на общество. Прежде всего дадим определение понятия маргинальность на котором будет основываться последующее рассуждение на предложенную тему. Классическое и наиболее часто используемое определение данного я...
13680. Семья - один из шедевров природы 14.29 KB
  Семья один из шедевров природы. Дж. Сантаяна Попытаемся ответить на вопрос почему Дж. Сантаяна считает семью одним из шедевров природы. Для начала укажем определение семьи это объединение людей основанное на браке кровном родстве или усыновлении и связанное меж...
13681. Семья является первичным лоном человеческой культуры 14.87 KB
  Семья является первичным лоном человеческой культурыИ. Ильин.Данное высказывание посвящено весьма актуальной социологической проблеме. Автор поднимает проблему семьи как самой ценной ячейке общества.Русский философ Иван Ильин придавал большое значение семье как в