logo search
2010_150 Акчурин - Программирование на языке C#

24.1.Текст и график функции в форме

Создать программу вывода текста и рисования в форме графиков функций. Проект – WindowsForm приложение.

Пример. Создать программу рисования в форме графика функции с поясняющим текстом. Проект – WindowsForms приложение. Функция - синус. Программа предусматривает рисование графика в форме Form1 линиями с помощью метода DrawLine. Над графиком с помощью метода DrawString выводится поясняющий текст. Кнопка Старт вызывает построение графиков в окне.

Листинг программы

using System;

using System.Drawing;

using System.Windows.Forms;

namespace GraphicFunction

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)

{

int imax =100; //число точек в периоде

int t=2; //число периодов

int amp=70; //амплитуда

int h = 40; //отступ для текста

int x0=20; //начала координат

int y0 = h+amp;

double[] f = new double [imax*t+10];

// Функция

for (int i = 0; i < imax * t; i++)

{

f[i] = Math.Round(amp * Math.Sin(2 * Math.PI / imax * i));

}

// Инструменты рисования

Graphics g = Graphics.FromHwnd(this.Handle); // Где рисуем

Pen pen = Pens.Black; // Чем рисуем

// Текст заголовка

g.DrawString("График синусоиды", new Font("Arial", 14),

Brushes.Red, 0, 0); //Вывод текста

//textBox1.Text = "График синусоиды";

//Рисуем график

g.DrawLine(pen , x0, y0, x0+imax*t, y0); //Рисуем ось X

g.DrawLine(pen, x0, y0-amp, x0, y0+amp); //Рисуем ось Y

for (int i = 0; i < imax * t; i++) //Рисуем график

{

int f1 = y0 - (int)f[i]; //Координата Y[i]

int f2 = y0 - (int)f[i + 1]; //Координата Y[i+1]

g.DrawLine(pen, x0+i, f1, x0+i+1, f2);

}

}

private void Form1_Load(object sender, EventArgs e)

{

}

}

}

При прогоне программы получается результат: