From 0d0d57578e1e3774ce82450346f23c735fac6ee5 Mon Sep 17 00:00:00 2001
From: KirillFirsof <117719052+KirillFirsof@users.noreply.github.com>
Date: Thu, 12 Oct 2023 21:25:26 +0400
Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE=D1=82?=
=?UTF-8?q?=D0=BA=D0=B0=20=D1=84=D0=BE=D1=80=D0=BC=D1=8B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../RPP_FirstLaba_Tractor/FormTractor.cs | 145 ++++++++++++++----
1 file changed, 116 insertions(+), 29 deletions(-)
diff --git a/RPP_FirstLaba_Tractor/RPP_FirstLaba_Tractor/FormTractor.cs b/RPP_FirstLaba_Tractor/RPP_FirstLaba_Tractor/FormTractor.cs
index da6423d..2a7e443 100644
--- a/RPP_FirstLaba_Tractor/RPP_FirstLaba_Tractor/FormTractor.cs
+++ b/RPP_FirstLaba_Tractor/RPP_FirstLaba_Tractor/FormTractor.cs
@@ -1,27 +1,109 @@
namespace RPP_FirstLaba_Tractor
{
+ ///
+ /// Форма работы с объектом "Спортивный автомобиль"
+ ///
public partial class FormTractor : Form
{
+ private PictureBox pictureBoxTractor;
+ private Button buttonCreate;
private Button buttonTop;
private Button buttonLeft;
private Button buttonDown;
private Button buttonRight;
- private Button buttonCreate;
- private PictureBox pictureBoxTractor;
+ public int getPictureWidth()
+ {
+ return pictureBoxTractor.Width;
+ }
+ public int getPictureHeight()
+ {
+ return pictureBoxTractor.Height;
+ }
+
+ ///
+ /// Поле-объект для прорисовки объекта
+ ///
+ private DrawningTractor? _drawningTractor;
+ ///
+ /// Инициализация формы
+ ///
public FormTractor()
{
InitializeComponent();
}
+ ///
+ /// Метод прорисовки машины
+ ///
+ private void Draw()
+ {
+ if (_drawningTractor == null)
+ {
+ return;
+ }
+ Bitmap bmp = new(pictureBoxTractor.Width,
+ pictureBoxTractor.Height);
+ Graphics gr = Graphics.FromImage(bmp);
+ _drawningTractor.DrawTransport(gr);
+ pictureBoxTractor.Image = bmp;
+ }
+ ///
+ /// Обработка нажатия кнопки "Создать"
+ ///
+ ///
+ ///
+ private void ButtonCreate_Click(object sender, EventArgs e)
+ {
+ Random random = new();
+ _drawningTractor = new DrawningTractor();
+ _drawningTractor.Init(random.Next(100, 300),
+ random.Next(1000, 3000),
+ Color.FromArgb(random.Next(0, 256), random.Next(0, 256),
+ random.Next(0, 256)),
+ pictureBoxTractor.Width, pictureBoxTractor.Height);
+ _drawningTractor.SetPosition(random.Next(10, 100),
+ random.Next(10, 100));
+ Draw();
+ }
+
+ ///
+ /// Изменение размеров формы
+ ///
+ ///
+ ///
+ private void ButtonMove_Click(object sender, EventArgs e)
+ {
+ if (_drawningTractor == null)
+ {
+ return;
+ }
+ string name = ((Button)sender)?.Name ?? string.Empty;
+ switch (name)
+ {
+ case "buttonTop":
+ _drawningTractor.MoveTransport(DirectionType.Up);
+ break;
+ case "buttonDown":
+ _drawningTractor.MoveTransport(DirectionType.Down);
+ break;
+ case "buttonLeft":
+ _drawningTractor.MoveTransport(DirectionType.Left);
+ break;
+ case "buttonRight":
+ _drawningTractor.MoveTransport(DirectionType.Right);
+ break;
+ }
+ Draw();
+ }
private void InitializeComponent()
{
this.pictureBoxTractor = new System.Windows.Forms.PictureBox();
+ this.buttonCreate = new System.Windows.Forms.Button();
this.buttonTop = new System.Windows.Forms.Button();
this.buttonLeft = new System.Windows.Forms.Button();
this.buttonDown = new System.Windows.Forms.Button();
this.buttonRight = new System.Windows.Forms.Button();
- this.buttonCreate = new System.Windows.Forms.Button();
((System.ComponentModel.ISupportInitialize)(this.pictureBoxTractor)).BeginInit();
this.SuspendLayout();
//
@@ -30,80 +112,85 @@ namespace RPP_FirstLaba_Tractor
this.pictureBoxTractor.Dock = System.Windows.Forms.DockStyle.Fill;
this.pictureBoxTractor.Location = new System.Drawing.Point(0, 0);
this.pictureBoxTractor.Name = "pictureBoxTractor";
- this.pictureBoxTractor.Size = new System.Drawing.Size(882, 453);
+ this.pictureBoxTractor.Size = new System.Drawing.Size(891, 490);
this.pictureBoxTractor.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
this.pictureBoxTractor.TabIndex = 0;
this.pictureBoxTractor.TabStop = false;
//
+ // buttonCreate
+ //
+ this.buttonCreate.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
+ this.buttonCreate.Location = new System.Drawing.Point(12, 440);
+ this.buttonCreate.Name = "buttonCreate";
+ this.buttonCreate.Size = new System.Drawing.Size(94, 29);
+ this.buttonCreate.TabIndex = 1;
+ this.buttonCreate.Text = "Создать";
+ this.buttonCreate.UseVisualStyleBackColor = true;
+ this.buttonCreate.Click += new System.EventHandler(this.ButtonCreate_Click);
+ //
// buttonTop
//
this.buttonTop.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.buttonTop.BackgroundImage = global::RPP_FirstLaba_Tractor.Properties.Resources.arrowUp;
- this.buttonTop.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom;
- this.buttonTop.Location = new System.Drawing.Point(804, 376);
+ this.buttonTop.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
+ this.buttonTop.Location = new System.Drawing.Point(813, 412);
this.buttonTop.Name = "buttonTop";
this.buttonTop.Size = new System.Drawing.Size(30, 30);
- this.buttonTop.TabIndex = 1;
+ this.buttonTop.TabIndex = 2;
this.buttonTop.UseVisualStyleBackColor = true;
+ this.buttonTop.Click += new System.EventHandler(this.ButtonMove_Click);
//
// buttonLeft
//
this.buttonLeft.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.buttonLeft.BackgroundImage = global::RPP_FirstLaba_Tractor.Properties.Resources.arrowLeft;
- this.buttonLeft.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom;
- this.buttonLeft.Location = new System.Drawing.Point(768, 411);
+ this.buttonLeft.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
+ this.buttonLeft.Location = new System.Drawing.Point(777, 448);
this.buttonLeft.Name = "buttonLeft";
this.buttonLeft.Size = new System.Drawing.Size(30, 30);
- this.buttonLeft.TabIndex = 2;
+ this.buttonLeft.TabIndex = 3;
this.buttonLeft.UseVisualStyleBackColor = true;
+ this.buttonLeft.Click += new System.EventHandler(this.ButtonMove_Click);
//
// buttonDown
//
this.buttonDown.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.buttonDown.BackgroundImage = global::RPP_FirstLaba_Tractor.Properties.Resources.arrowDown;
- this.buttonDown.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom;
- this.buttonDown.Location = new System.Drawing.Point(804, 411);
+ this.buttonDown.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
+ this.buttonDown.Location = new System.Drawing.Point(813, 448);
this.buttonDown.Name = "buttonDown";
this.buttonDown.Size = new System.Drawing.Size(30, 30);
- this.buttonDown.TabIndex = 3;
+ this.buttonDown.TabIndex = 4;
this.buttonDown.UseVisualStyleBackColor = true;
+ this.buttonDown.Click += new System.EventHandler(this.ButtonMove_Click);
//
// buttonRight
//
this.buttonRight.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.buttonRight.BackgroundImage = global::RPP_FirstLaba_Tractor.Properties.Resources.arrowRight;
- this.buttonRight.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom;
- this.buttonRight.Location = new System.Drawing.Point(840, 411);
+ this.buttonRight.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
+ this.buttonRight.Location = new System.Drawing.Point(849, 448);
this.buttonRight.Name = "buttonRight";
this.buttonRight.Size = new System.Drawing.Size(30, 30);
- this.buttonRight.TabIndex = 4;
+ this.buttonRight.TabIndex = 5;
this.buttonRight.UseVisualStyleBackColor = true;
- //
- // buttonCreate
- //
- this.buttonCreate.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
- this.buttonCreate.Location = new System.Drawing.Point(12, 412);
- this.buttonCreate.Name = "buttonCreate";
- this.buttonCreate.Size = new System.Drawing.Size(94, 29);
- this.buttonCreate.TabIndex = 5;
- this.buttonCreate.Text = "Создать";
- this.buttonCreate.UseVisualStyleBackColor = true;
+ this.buttonRight.Click += new System.EventHandler(this.ButtonMove_Click);
//
// FormTractor
//
- this.ClientSize = new System.Drawing.Size(882, 453);
- this.Controls.Add(this.buttonCreate);
+ this.ClientSize = new System.Drawing.Size(891, 490);
this.Controls.Add(this.buttonRight);
this.Controls.Add(this.buttonDown);
this.Controls.Add(this.buttonLeft);
this.Controls.Add(this.buttonTop);
+ this.Controls.Add(this.buttonCreate);
this.Controls.Add(this.pictureBoxTractor);
this.Name = "FormTractor";
- this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
((System.ComponentModel.ISupportInitialize)(this.pictureBoxTractor)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
+
}
}
\ No newline at end of file