Untitled
unknown
plain_text
2 years ago
5.0 kB
9
Indexable
using System;
using System.Drawing;
using System.Windows.Forms;
namespace FigureApp
{
public partial class Form1 : Form
{
private Figyra figyra;
public Form1()
{
InitializeComponent();
figyra = new Figyra();
}
private void button1_Click(object sender, EventArgs e)
{
// Создание экземпляра подкласса в зависимости от выбранного типа фигуры
if (comboBox1.SelectedItem.ToString() == "Прямоугольник")
{
Pryamougolnik pryamougolnik = new Pryamougolnik(figyra.X, figyra.Y, figyra.Width, figyra.Height);
pryamougolnik.Draw(pictureBox1);
pryamougolnik.Clear(pictureBox1);
pryamougolnik.Move(10, 10);
}
else if (comboBox1.SelectedItem.ToString() == "Эллипс")
{
Ellipse ellipse = new Ellipse(figyra.X, figyra.Y, figyra.Width, figyra.Height);
ellipse.Draw(pictureBox1);
ellipse.Clear(pictureBox1);
ellipse.Move(10, 10);
}
else if (comboBox1.SelectedItem.ToString() == "Многоугольник")
{
Mnogougolnik mnogougolnik = new Mnogougolnik(figyra.X, figyra.Y, figyra.Width, figyra.Height);
mnogougolnik.Draw(pictureBox1);
mnogougolnik.Clear(pictureBox1);
mnogougolnik.Move(10, 10);
}
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
// Обновление значения X при изменении текста в textBox1
if (int.TryParse(textBox1.Text, out int x))
{
figyra.X = x;
}
}
private void textBox2_TextChanged(object sender, EventArgs e)
{
// Обновление значения Y при изменении текста в textBox2
if (int.TryParse(textBox2.Text, out int y))
{
figyra.Y = y;
}
}
private void textBox3_TextChanged(object sender, EventArgs e)
{
// Обновление значения Width при изменении текста в textBox3
if (int.TryParse(textBox3.Text, out int width))
{
figyra.Width = width;
}
}
private void textBox4_TextChanged(object sender, EventArgs e)
{
// Обновление значения Height при изменении текста в textBox4
if (int.TryParse(textBox4.Text, out int height))
{
figyra.Height = height;
}
}
}
public class Figyra
{
public int X { get; set; }
public int Y { get; set; }
public int Width { get; set; }
public int Height { get; set; }
}
public class Pryamougolnik : Figyra
{
public Pryamougolnik(int x, int y, int width, int height)
{
X = x;
Y = y;
Width = width;
Height = height;
}
public void Draw(PictureBox pictureBox)
{
Graphics g = pictureBox.CreateGraphics();
g.DrawRectangle(Pens.Black, X, Y, Width, Height);
}
public void Clear(PictureBox pictureBox)
{
Graphics g = pictureBox.CreateGraphics();
g.Clear(Color.White);
}
public void Move(int dx, int dy)
{
X += dx;
Y += dy;
}
}
public class Ellipse : Figyra
{
public Ellipse(int x, int y, int width, int height)
{
X = x;
Y = y;
Width = width;
Height = height;
}
public void Draw(PictureBox pictureBox)
{
Graphics g = pictureBox.CreateGraphics();
g.DrawEllipse(Pens.Black, X, Y, Width, Height);
}
public void Clear(PictureBox pictureBox)
{
Graphics g = pictureBox.CreateGraphics();
g.Clear(Color.White);
}
public void Move(int dx, int dy)
{
X += dx;
Y += dy;
}
}
public class Mnogougolnik : Figyra
{
public Mnogougolnik(int x, int y, int width, int height)
{
X = x;
Y = y;
Width = width;
Height = height;
}
public void Draw(PictureBox pictureBox)
{
// Реализация отрисовки многоугольника
}
public void Clear(PictureBox pictureBox)
{
// Реализация очистки многоугольника
}
public void Move(int dx, int dy)
{
// Реализация перемещения многоугольника
}
}
}Editor is loading...
Leave a Comment