697

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

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

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

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

Русский

2013-01-06

108 KB

29 чел.

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

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

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

Отчёт

по лабораторной работе №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.


 

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

12877. Развитие эмоциональной волевой сферы средствами арт-терапии 92 KB
  Коррекционноразвивающая программа: Развитие эмоциональной волевой сферы средствами арттерапиидля работы с дезадаптированными детьми 7 8 лет Пояснительная записка Проблема адаптации первоклассника к обучению в школе является одной из важных для психологии образо...
12878. ПРАКТИЧЕСКИЙ КУРС «В ПОИСКАХ СВОЕГО ПРИЗВАНИЯ» 75.37 KB
  ПРАКТИЧЕСКИЙ КУРС В ПОИСКАХ СВОЕГО ПРИЗВАНИЯ ВВЕДЕНИЕ Методический материал программа практических занятий со старшеклассниками по курсу В поисках своего призвания представляет собой конспекты уроков написанные в виде сценариев и допускающие возможность ...
12879. Биологические ритмы и их влияние на здоровье 77 KB
  Урок валеологии: Биологические ритмы и их влияние на здоровье Цели: ознакомить учащихся с новым понятием – биоритмы суточные недельные месячные сезонные; рассмотреть каким образом биоритмы влияют на здоровье человека его работоспособность; с помощью анкеты ...
12880. ГОЛОС ЧУЖОЙ ПЛАНЕТЫ 71 KB
  ГОЛОС ЧУЖОЙ ПЛАНЕТЫ Вашему вниманию предлагается иградрама. Мы играли в нее не только со старшеклассниками но и с педагогами представителями администрации психологами. Игра эта сложная как для проводящих ее так и для игроков. Она предполагает создание ситуации в...
12881. ПУТЕШЕСТВИЕ К ВОЛШЕБНИКУ 96.5 KB
  ПУТЕШЕСТВИЕ К ВОЛШЕБНИКУ Предлагаемую ниже игру можно использовать и как самостоятельную процедуру и в рамках психологического тренинга для подростков. В последнем случае игра встраивается в программу тренинга в форме отдельного занятия в котором представлены все...
12882. Психологическая игра Война племен 37.5 KB
  Психологическая игра Война племен Цель: развитие внутригрупповых отношений; навыков коллективного взаимодействия снятие агрессии. Участники игры: учащиеся 68 классов. Время проведения занятия: 1час 30 мин. Предполагаемый психологический результат: улучшение взаи...
12883. Дороги, которые мы выбираем. Сценарий мероприятия по актуальным проблемам подросткового возраста 41 KB
  Сценарий мероприятия по актуальным проблемам подросткового возраста Дороги которые мы выбираем... В конкурсе принимают участие ученики 9 11го класса. Соревнуются 2 команды по 12 человек. Члены команды: капитан; прессцентр 2 чел.; выездная бригада 3чел.; члены команд
12884. Здоровье и моя будущая профессия 41 KB
  Здоровьесберегающие технологии в воспитании и развитии детей. Круглый стол Здоровье и моя будущая профессия Программное содержание. Учить детей снимать эмоциональное и физическое напряжение преодолевать чувство тревоги связанное с межличностным общением. Форм...
12885. Сценарий психологической игры: «Кораблекрушение» 69.5 KB
  Сценарий психологической игры: Кораблекрушение для учеников 11го класса В период ранней юности 1517 лет человек переживает кризис идентичности. Этот возраст сопровождается активным поиском самого себя в социуме сверстников и взрослых. Конфликты как эмоционально...