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.


 

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

81748. Автор и главный герой поэмы А. Т. Твардовского «Василий Теркин». Роль фольклорных мотивов в поэме 41.54 KB
  Твардовского Василий Теркин. Вместе с тем Твардовский следовал своему намерению побольше самого себя в поэме: лирическое начало в Теркине расширилось по сравнению со Страной Муравией стало многогранным обогатило эпические традиции которые попрежнему сильно ощутимы в поэме но проявляются иначе чем прежде. Достоверность картин жизни поэт подчеркнул и тем что назвал Василия Теркина не поэмой или эпопеей а книгой про бойца. Кроме массы бойцов плотно населяющих поэму обрисованных лаконично но остро выразительно в Василии...
81749. Нравственная эволюция героя в рассказе А. П. Чехова «Ионыч». Анализ эпизода из рассказа 33.83 KB
  Чехов рассказывает печальную историю образованного дельного врача Дмитрия Ионыча Старцева превращающегося в провинциальной глуши в угрюмого нелюдима и черствого эгоиста. Старцев пытается войти в жизнь горожан найти отклик на те мысли и чувства которыми он живет но скоро опыт научил его малопомалу что пока с обывателем играешь в карты или закусываешь с ним то это мирный благодушны и даже неглупый человек но стоит только заговорить с ним о чемнибудь несъедобном например о политике или науке как он становится в тупик или заводит...
81750. Сны героев. Их художественная функция в произведениях отечественной литературы 32.96 KB
  С одной стороны жизнь в этой деревне поражает своей сонливостью безмолвием бездеятельностью. Закономерности существования определяют приметы: брови чешутся слёзы; лоб кланяться с правой стороны чешется мужчине с левой женщине; уши зачешутся значит к дождю. С другой стороны в описании Обломовки заметен акцент на великолепии окружающей природы на хлебосольстве господ поэзии быта усадьбы красоте народных праздников ласке матери. Подчеркнуты нравственные стороны рисуемой жизни: искренность доброта и незлобие: В глазах...
81751. Тема прошлого, настоящего и будущего России в пьесе А.Чехова «Вишневый сад». Роль символики и подтекста в чеховской драматургии 36.04 KB
  Ситуация из жизни отдельных людей внутренне соотнесена в пьесе с ситуацией в жизни страны так уже было у Ч. На первый взгляд это опятьтаки обычная чеховская пьеса дающая картину нелепой нескладной жизни. В отличие от всех предшествующих пьес Чехова в Вишневом саде все эти образы нелепой и несчастливой жизни характеризуют не современную жизнь вообще а жизнь определенного исторического периода уже закончившегося изжитого. Вишневый сад рисует не устойчивый образ жизни а ее историческое движение.
81752. Тема свободы и ее философское звучание в произведениях русской поэзии 19 века 29.57 KB
  Таков и мцыри и лирический герой стих. Парус Лермонтовский герой герой романтический мятежный поэтому страсти его всегда максимально накалены а его внутренний мир чрезвычайно сложен. Лирический герой противопоставляет себя обществу и оно не приемлет его. герой одинок как и парус в тумане моря голубом как Демон.
81753. Жанровое своеобразие и идейное звучание «Слова о полку Игореве» Связь «Слова…» с устным народным творчеством 32.87 KB
  Определив хронологический диапазонсвоего повествования от старого Владимира до нынешнего Игоря автор рассказывает о дерзком замысле Игоря навести свои полки на Половецкую землю испити шеломом Дону. В радостных тонах рисует автор встречу Игоря и Буй Тура Всеволода восторженно характеризует удалых кметей воинов курян. И хотя описывается первая победа принесшая русским князьям богатые трофеи автор вновь возвращается к теме грозных предзнаменований грядущего поражения кровавыя зори свет поведают черные тучи с моря идут...
81754. Тема любви и смерти в прозе И.А.Бунина 31.39 KB
  Бунина на примере одного произведения Рассказы Бунина о любви это повествование о ее загадочной ускользающей природе о тайне женской души которая томится жаждой любить но никогда не полюбит. Исход любви; по Бунину всегда трагичен В повести Митина любовь героя преследует романс Рубинштейна на слова Генриха Гейне: Я из рода бедных Азров Полюбив мы умираем. МуромцеваБунин а в книге Жизнь Бунина пишет о том что долгие годы Бунин носил в себе впечатление от этого романса который услышал в юношеском возрасте и в Митиной любви...
81755. Мотив дороги и его философское звучание в произведениях отечественной классики 19 века 31.76 KB
  Выражением концепции исторического пути народа или государства Н. Бричка Чичикова символ однообразного кружения сбившейся с прямого пути души русского человека. А проселочные дороги по которым эта бричка колесит не только реалистическая картина российского бездорожья но и символ кривого пути национального развития. Птицатройка символ национальной стихии русской жизни символ великого пути России в мировом масштабе.
81756. Проблема ума в комедии А.С.Грибоедова «Горе от ума». Особенности языка и стиха пьесы 36.33 KB
  В комедии Горе от ума кто умное действующее лицо ответ: Грибоедов А знаешь ли что такое Чацкий Пылкий благородный и добрый малый проведший несколько времени с очень умным человеком именно с Грибоедовым и напитавшийся его мыслями остротами и сатирическими замечаниями. Но Чацкий не только умнее всех прочих лиц но и положительно умен. Между тем Чацкий как личность несравненно выше и умнее Онегина и лермонтовского Печорина. Ими заканчивается их время а Чацкий начинает новый век и в этом все его значение и весь ум.