Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Проект решения






Создадим простой проект WindowsApplication решения с любым именем (у меня graph1). Поместим на форму три кнопки, в свойствах " Текст" которых напишем соответственно: " Линейная диаграмма", " Гистонрамма" и " Круговая диаграмма". Ниже кнопок поместим контрол PictureBox. Подберем удобное для себя расположение кнопок и PictureBox (в реальных программах для размещения удобнее использовать контролы TableLayoutPanel, но сейчас нас интересует графика, а не размещение).

В окне Solutation Explorer кликаем правой кнопкой мышки на узле решения (у меня graph1) и в контекстном меню выбираем Add\New Item. В окне Templates выбираем Class, даем ему имя, например PaintCl.cs и нажимаем кнопку Add. Будет создан пустой класс.

using System;

using System.Collections.Generic;

using System.Text;

namespace graph1

{

class PaintCl

{

}

}

Нашей задачей будет постепенное наполнение этого класса при минимуме добавления кода в основной файл кода приложения - Form1.cs.

Для начала создадим обработчик события нажатия кнопки " Линейный график" (клик мышкой на кнопке), а также обработчики для событий Load и FormClozed (первый можно кликом мышки на форме, второй через окно Properties формы - закладка Events - клик в окошечке против события FormClosed). Слегка преобразуем код, как показано ниже:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

namespace graph1

{

public partial class Form1: Form

{

private int viNumButton = 0;

private int viNumInRg=20; //20 - начальное значение

private string[, ] rgsValues=null;

 

public Form1()

{

InitializeComponent();

}

 

 

private void Form1_Load(object sender, EventArgs e)

{

//Здесь при создании реальной программы необходимо

//будет предусмотреть восстановление сохраненных

//параметров для приложения и графиков

}

private void Form1_FormClosed(object sender, FormClosedEventArgs e)

{

//Здесь при создании реальной программы необходимо

//будет предусмотреть сохранение параметров

//для приложения и графиков

}

 

 

#region Создание массива значений

private void vCreateRg()

{

Random rnd = new Random(DateTime.Now.Millisecond);

Random rnd1 = new Random(DateTime.Now.Millisecond+5);

rgsValues = new string[viNumInRg, 2];

for (int i = 0; i < viNumInRg; i++)

{

rgsValues[i, 0] = Convert.ToString(((float)(rnd.Next(0, 10) * 100) +

(float)rnd1.Next(0, 99)) / (float)100);

rgsValues[i, 1] = " I-" + Convert.ToString(i+1);

}

}

#endregion

 

#region создание линейного графика

private void button1_Click(object sender, EventArgs e)

{

viNumButton = 1;

vCreateLinGr();

}

private void vCreateLinGr()

{

//Создаем массив значений для вывода на графике

vCreateRg();

 

}

#endregion

}

}

Назначение переменной viNumButton, будет ясно далее. Массив значений у нас создан. Осталось нарисовать по значениям массива график, используя класс.


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.008 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал