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.


 

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

39881. Разработка web-сайта ОАО Алейскзернопродукт имени С.Н. старовойтова 3.11 MB
  Выполняя дипломную работу я разобрался в том, что необходимо знать и уметь для создания Web-сайта, какое программное обеспечение является инструментарием создания Web-сайта и как эффективно его использовать. Мною изучен язык Web-программирования – HTML, который является общепринятым стандартом WWW.
39882. Разработка сайта ГОУ СПО Краснодарского торгово-экономического колледжа 11.59 MB
  При помощи сайта можно: передать всю необходимую информацию о колледже и о специальностях в том числе самые последние новости; наладить прямой контакт с абитуриентами и студентами например в форуме и с помощью блицопросов; современно разрекламировать колледж так чтобы иметь одновременно зрелищность телевизионной рекламы и информативность буклета. Таким образом целью дипломного проектирования является разработка сайта для Краснодарского торговоэкономического колледжа. Назначение и цели создания сайта В основе дипломной работы лежат...
39883. Создание Web-страниц 625.5 KB
  Объект исследования: наиболее подходящая программа для создания Webстраниц. Цель работы: создание Webстраниц. В дипломной работе выполнено: обзор программ для создания Webстраниц; сравнительный анализ Macromedia Dreamweaver и Front Page; описан процесс создания и разработки современного сайта; оценка экономической целесообразности использования персонального компьютера; правила охраны труда на рабочем месте оператора компьютерного набора и верстки. Webсайт Htmlпрограммирование ДИЗАЙН САЙТА FRONT PAGE MACROMEDIA DREAMWEAVER.
39884. Разработать принципиальную схему и текст программы контроллера на основе микропроцессора КР580 42 KB
  Алгоритмическое проектирование Процесс Основной Начало подается 0 на Селектор считывания температуры в основной камере Считывается значение температуры с Заданная температура в основной камере под 1 на Селектор считывания температуры в основной камере М1: сравнивается Заданное значение температуры в основной камере и Значение температуры в основной камере если больше то прыг на М2 иначе подается 0 на Включение основной камеры прыг на М1 М2: ожидаем 2 мин.5 часа то Авария М3: сравнивается Заданное значение температуры в морозильной...
39885. ОФОРМЛЕНИЕ ОБЯЗАТЕЛЬНЫХ УЧЕБНЫХ ДОКУМЕНТОВ 636.5 KB
  2 Примечания следует помещать непосредственно после текстового графического материала или таблицы к которым относятся эти примечания и печатать с прописной буквы с абзаца. Примечание к таблице помещают в конце таблицы над линией обозначающей окончание таблицы. Ссылки на подразделы пункты таблицы и иллюстрации не допускаются за исключением подразделов пунктов таблиц и иллюстраций данного документа Ссылка заключается в квадратные скобки [ ] содержит порядковой номер документа в СПИСКЕ ЛИТЕРАТУРЫ указание страниц. Сноски помещают с...
39886. Разработка программного обеспечения для ведения финансовой отчетности Кировской территориальной избирательной комиссии 309 KB
  Во всех территориальных избирательных комиссиях на постоянной штатной основе работают председатели в Мурманской территориальной избирательной комиссии в связи с большим числом избирателей на штатной основе работает и секретарь главные бухгалтеры. Кроме того для обеспечения передачи данных о ходе проводимых избирательных кампаний в вышестоящие избирательные комиссии председателям территориальных избирательных комиссий оперативно подчиняются системные администраторы ГАС Выборы работающие в аппарате Комиссии области. Для обеспечения...
39887. Разработать на основе МПК I8085 контроллер управления, обеспечивающий и поддерживающий определенную температуру (точность: плюс/минус 0.1 С) в холодильной камере, в зависимости от вида продукции для хранения 204.08 KB
  3 Постановка задачи4 Структурная схема устройства5 Общая схема алгоритма.6 Функциональная схема8 Детальная схема алгоритма. Структурная организация устройства Общая схема алгоритма Основная программа Х1: 1 значение с датчиков равно значению с переключателей; 0 не равно; Х2: 1 значение датчика больше чем значение переключателей; 0 меньше: Рис. Общая схема алгоритма работы устройства.
39888. Прохождение практики на Предприятии ОАО «Апатит» 177.73 KB
  Служба эксплуатации контрольноизмерительных приборов и автоматики КИП и А выполняет следующие функции: метрологический надзор; техническое обслуживание; ремонт и настройку контрольноизмерительных приборов и приборов автоматического управления. Цех КИП и А выполняет такие наиболее ответственные работы как ремонт и поверка приборов эксплуатация сложных систем автоматики и др. Внедряет новые системы автоматики осуществляет техническое руководство группами эксплуатации приборов КИП и А в других цехах предприятия организует...
39889. ОПРЕДЕЛЕНИЕ РАВНОВЕСНОЙ ТЕМПЕРАТУРЫ ВОЗДУХА В ОХЛАЖДАЕМОМ ПОМЕЩЕНИИ (НА ПРИМЕРЕ НИЗКОТЕМПЕРАТУРНЫХ ПРИЛАВКОВ И ШКАФОВ) 6.31 MB
  При включении холодильной машины в охлаждаемом помещении устанавливается температура ниже температуры наружного окружающего помещение воздуха. при балансе: При наступлении равновесия между теплопритоками и теплоотводом в камере установится определенная температура называемая равновесной температурой. Не будет теплопритока от грузов и в случае если это камера длительного хранения куда грузы заложены уже давно и их температура стала равна температуре в охлаждаемом помещении. Для ограждения не подверженного действию солнечной радиации:...