Технология программирования Зертханалық жұмыс №2 Тақырып: gdi+ Қолдана отырып windows-қосымшасын дайындау



бет1/2
Дата04.10.2022
өлшемі184,21 Kb.
#41365
  1   2
Байланысты:
AlisherLab2


Қазақстан Республикасының Білім және Ғылым Министрлігі Д.Серікбаев атындағы Шығыс Қазақстан Техникалық университеті
Факультет: Ақпараттық технологиялар мектебі
Пән:  Технология программирования
Зертханалық жұмыс №2
Тақырып: GDI+ ҚОЛДАНА ОТЫРЫП WINDOWS-ҚОСЫМШАСЫН ДАЙЫНДАУ
Орындаған: Жапаров Алишер 21-ИСК-1
Қабылдаған: Жомартқызы Гүлназ
Өскемен
2022

Цель лабораторной работы:


Приобретение практических навыков по созданию Windows-приложений с использованием графического интерфейса языка C#.

Домашнее задание на лабораторную работу:
Случайным образом формируются координаты X и Y 80 точек. Диапазон значений координат от -100 до +100. В текстовом виде вывести на экран монитора точки каждой четверти, максимально удаленные от начала координат. Отобразить результат работы программы в графическом виде (найденные точки отобразить другим цветом).

Код:
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;

namespace shoot


{
public partial class Form1 : Form
{
Pen p;
Graphics g;
Point O;
double[,] max = new double[4, 2];
public Form1()
{
InitializeComponent();
O = new Point(500, 200);
}
public void paint()
{
p = new Pen(Color.Black, 1);
Point point1 = new Point();
Point point2 = new Point();
point1.X = O.X;
point1.Y = O.Y - 200;
point2.X = O.X;
point2.Y = O.Y + 200;
g.DrawLine(p, point1, point2);
point1.X = O.X - 200;
point1.Y = O.Y;
point2.X = O.X + 200;
point2.Y = O.Y;
g.DrawLine(p, point1, point2);
p.Dispose();

}
private void Form1_Load(object sender, EventArgs e)


{
g = this.CreateGraphics();

}
private void distCalc(int[] x, int[] y, double[] dist, int k)


{
for (int i = 0; i < k; i++)
dist[i] = Math.Sqrt(x[i] * x[i] + y[i] * y[i]);
}
private void button1_Click_1(object sender, EventArgs e)
{
paint();
button1.Enabled = false;
button3.Enabled = true;
int[] xcoord1 = new int[80];
int[] ycoord1 = new int[80];
int[] xcoord2 = new int[80];
int[] ycoord2 = new int[80];
int[] xcoord3 = new int[80];
int[] ycoord3 = new int[80];
int[] xcoord4 = new int[80];
int[] ycoord4 = new int[80];
double[] dist1 = new double[80];
double[] dist2 = new double[80];
double[] dist3 = new double[80];
double[] dist4 = new double[80];
Random r = new Random();
SolidBrush p = new SolidBrush(Color.Blue);
int k = 0, k1 = 0, k2 = 0, k3 = 0, k4 = 0;
while (k != 80)
{
int X = r.Next((int)O.X - 200, (int)O.X + 200);
int Y = r.Next((int)O.Y - 200, (int)O.Y + 200);

g.FillRectangle(p, X, Y, 4, 4);


int x1 = X - 500;
int y1 = Y - 200;
if (x1 > 0 && y1 > 0)
{
xcoord1[k1] = x1;
ycoord1[k1] = y1;
k1++;
}
if (x1 < 0 && y1 > 0)
{
xcoord2[k2] = x1;
ycoord2[k2] = y1;
k2++;
}
if (x1 < 0 && y1 < 0)
{
xcoord3[k3] = x1;
ycoord3[k3] = y1;
k3++;
}
if (x1 > 0 && y1 < 0)
{
xcoord4[k4] = x1;
ycoord4[k4] = y1;
k4++;
}

k++;
}


distCalc(xcoord1, ycoord1, dist1, k1);
distCalc(xcoord2, ycoord2, dist2, k2);
distCalc(xcoord3, ycoord3, dist3, k3);
distCalc(xcoord4, ycoord4, dist4, k4);
Array.Resize(ref dist1, k1);
Array.Resize(ref dist2, k1);
Array.Resize(ref dist3, k2);
Array.Resize(ref dist4, k2);
double m1 = dist1.Max();
int p1 = Array.IndexOf(dist1, m1);
double m2 = dist2.Max();
int p2 = Array.IndexOf(dist2, m2);
double m3 = dist3.Max();
int p3 = Array.IndexOf(dist3, m3);
double m4 = dist4.Max();
int p4 = Array.IndexOf(dist4, m4);
SolidBrush pm = new SolidBrush(Color.Red);
g.FillRectangle(pm, xcoord1[p1] + 500, ycoord1[p1] + 200, 6, 6);
g.FillRectangle(pm, xcoord2[p2] + 500, ycoord2[p2] + 200, 6, 6);
g.FillRectangle(pm, xcoord3[p3] + 500, ycoord3[p3] + 200, 6, 6);
g.FillRectangle(pm, xcoord4[p4] + 500, ycoord4[p4] + 200, 6, 6);
max[0, 0] = xcoord1[p1];
max[0, 1] = ycoord1[p1];
max[1, 0] = xcoord2[p2];
max[1, 1] = ycoord2[p2];
max[2, 0] = xcoord3[p3];
max[2, 1] = ycoord3[p3];
max[3, 0] = xcoord4[p4];
max[3, 1] = ycoord4[p4];

dataGridView1.Rows.Clear();


DataGridView1();
DataGridView1Populate();
DataGridView1Read();
dataGridView1.AutoResizeColumns();
}

private void button3_Click_1(object sender, EventArgs e)


{
g.Clear(Color.White);
button1.Enabled = true;
button3.Enabled = false;
dataGridView1.Rows.Clear();
}
private void DataGridView1()
{
dataGridView1.ColumnCount = 3;

dataGridView1.CellBorderStyle = DataGridViewCellBorderStyle.Single;


dataGridView1.GridColor = Color.Black;
dataGridView1.RowHeadersVisible = true;
dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells;

dataGridView1.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;


dataGridView1.Columns[0].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
dataGridView1.Columns[0].Name = "№ \nчетв.";
dataGridView1.Columns[1].Name = "Х \nкоорд.";
dataGridView1.Columns[1].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
dataGridView1.Columns[2].Name = "У \nкоорд.";
dataGridView1.Columns[2].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;

dataGridView1.SelectionMode =


DataGridViewSelectionMode.FullRowSelect;
dataGridView1.MultiSelect = false;
}
private void DataGridView1Populate()
{
for (int i = 0; i < 4; i++)
{
string[] row = new string[3];
row[0] = (i+1).ToString();
row[1] = max[i,0].ToString();
row[2] = max[i,1].ToString();
dataGridView1.Rows.Add(row);
}
}
private void DataGridView1Read()
{
StringBuilder sb = new StringBuilder();
for (int row = 0; row < dataGridView1.Rows.Count; row++)
{
for (int col = 0; col < dataGridView1.Columns.Count; col++)
{
sb.Append(dataGridView1.Rows[row].Cells[col].ToString());
}
}
sb.ToString();
}
}
}


Достарыңызбен бөлісу:
  1   2




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет