- •1.Общая часть
- •Работа с базами данных в с#
- •Работа с фалами в с#
- •1.3Работа с файлами html в с#
- •2.2.1Листинг программы:
- •2.Специальная часть
- •2.1Постановка задачи №1
- •2.1.1Листинг программы:
- •2.1.2Контрольный пример
- •2.2Постановка задачи №2
- •2.2.2Контрольный пример
- •2.3Постановка задачи №3
- •2.3.1Листинг программы:
- •2.3.2Контрольный пример
- •2.4Постановка задачи №4
- •2.4.1Листинг программы:
- •2.4.2Контрольный пример
- •2.5Постановка задачи №5
- •2.5.1Листинг программы:
- •2.5.2Контрольный пример
2.2.2Контрольный пример
2.3Постановка задачи №3
Рисуем график
2.3.1Листинг программы:
namespace График
{
public partial class Form1 : Form
{
String[] Months;
int[] Sales;
Graphics Графика;
Bitmap Растр;
int ОтступСлева, ОтступСправа, ОтступСнизу, ОтступСверху;
int ДлинаВертОси, ДлинаГоризОси, YГоризОси, Xmax, XНачЭпюры;
Double ГоризШаг;
int ВертШаг;
int i;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
Months = new String[] {"Янв", "Фев", "Март", "Апр", "Май",
"Июнь", "Июль", "Авг", "Сент",
"Окт", "Нояб", "Дек"};
Sales = new int[] {1000, 655, 555, 480, 410, 350, 260, 150};
ОтступСлева = 35; ОтступСправа = 15;
ОтступСнизу = 20; ОтступСверху = 10;
this.Text = " Построение графика ";
button1.Text = "Нарисовать график";
this.ClientSize = new Size(593, 319);
pictureBox1.Size = new Size(569, 242);
Растр = new Bitmap(pictureBox1.Width, pictureBox1.Height, pictureBox1.CreateGraphics());
YГоризОси = pictureBox1.Height - ОтступСнизу;
Xmax = pictureBox1.Width - ОтступСправа;
ДлинаГоризОси = pictureBox1.Width -
(ОтступСлева + ОтступСправа);
ДлинаВертОси = YГоризОси - ОтступСверху;
ГоризШаг = Convert.ToDouble(ДлинаГоризОси / Sales.Length);
ВертШаг = Convert.ToInt32(ДлинаВертОси / 10);
XНачЭпюры = ОтступСлева + 30;
}
private void button1_Click(object sender, EventArgs e)
{
Графика = Graphics.FromImage(Растр);
РисуемОси();
РисуемГоризЛинии();
РисуемВертЛинии();
РисованиеЭпюры();
pictureBox1.Image = Растр;
Графика.Dispose();
}
void РисуемОси()
{
var Перо = new Pen(Color.Black, 2);
Графика.DrawLine(Перо, ОтступСлева, YГоризОси,
ОтступСлева, ОтступСверху);
Графика.DrawLine(Перо, ОтступСлева, YГоризОси,
Xmax, YГоризОси);
var Шрифт = new Font("Arial", 8);
for (this.i = 1; i <= 10; i++)
{
int Y = YГоризОси - i * ВертШаг;
Графика.DrawLine(Перо, ОтступСлева - 4, Y, ОтступСлева, Y);
Графика.DrawString((i * 100).ToString(), Шрифт,
Brushes.Black, 0, Y - 5);
}
for (this.i = 0; i <= Months.Length - 1; i++)
{
Графика.DrawString(Months[i], Шрифт, Brushes.Black,
(int)(ОтступСлева + 18 + i * ГоризШаг), (YГоризОси + 4));
}
}
void РисуемГоризЛинии()
{
var ТонкоеПеро = new Pen(Color.LightGray, 1);
for (this.i = 1; i <= 10; i++)
{
int Y = YГоризОси - ВертШаг * i;
Графика.DrawLine(ТонкоеПеро, ОтступСлева + 3, Y, Xmax, Y);
}
ТонкоеПеро.Dispose();
}
void РисуемВертЛинии()
{
var ТонкоеПеро = new Pen(Color.Bisque, 1);
for (this.i = 0; i <= Months.Length - 1; i++)
{
int X = XНачЭпюры + Convert.ToInt32(ГоризШаг * i);
Графика.DrawLine(ТонкоеПеро, X, ОтступСверху, X, YГоризОси - 4);
}
ТонкоеПеро.Dispose();
}
void РисованиеЭпюры()
{
var ВертМасштаб = Convert.ToDouble(ДлинаВертОси / 1000.0);
var Y = new int[Sales.Length];
var X = new int[Sales.Length];
for (this.i = 0; i <= Sales.Length - 1; i++)
{
Y[i] = YГоризОси - Convert.ToInt32(Sales[i] * ВертМасштаб);
X[i] = XНачЭпюры + Convert.ToInt32(ГоризШаг *i );
}
var Перо = new Pen(Color.Blue, 3);
Графика.DrawEllipse(Перо, X[0] - 2, Y[0] - 2, 4, 4);
for (this.i = 0; i <= Sales.Length - 2; i++)
{
Графика.DrawLine(Перо, X[i], Y[i], X[i + 1], Y[i + 1]);
Графика.DrawEllipse(Перо, X[i + 1] - 2, Y[i + 1] - 2, 4, 4);
}
}
}
}
