Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Проект решения
Создадим простой проект 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, будет ясно далее. Массив значений у нас создан. Осталось нарисовать по значениям массива график, используя класс. Date: 2015-09-02; view: 298; Нарушение авторских прав |