From eba9c4907a54717968e0ee363eac6e5130aca314 Mon Sep 17 00:00:00 2001 From: vasmaae Date: Tue, 13 Feb 2024 19:55:51 +0400 Subject: [PATCH] =?UTF-8?q?=D0=9B=D0=B0=D0=B1=D0=BE=D1=80=D0=B0=D1=82?= =?UTF-8?q?=D0=BE=D1=80=D0=BD=D0=B0=D1=8F=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=B0=20=E2=84=961?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ProjectAirbus/ProjectAirbus/DrawningAirbus.cs | 13 ++++------ ProjectAirbus/ProjectAirbus/EntityAirbus.cs | 7 +----- ProjectAirbus/ProjectAirbus/FormAirbus.cs | 25 ++++++++++++++++++- 3 files changed, 30 insertions(+), 15 deletions(-) diff --git a/ProjectAirbus/ProjectAirbus/DrawningAirbus.cs b/ProjectAirbus/ProjectAirbus/DrawningAirbus.cs index d6a173d..a1f22e3 100644 --- a/ProjectAirbus/ProjectAirbus/DrawningAirbus.cs +++ b/ProjectAirbus/ProjectAirbus/DrawningAirbus.cs @@ -16,7 +16,7 @@ public class DrawningAirbus /// Ширина окна /// private int? _pictureWidth; - + /// /// Высота окна /// @@ -26,7 +26,7 @@ public class DrawningAirbus /// Начальная координата х /// private int? _startPosX; - + /// /// Начальная координата у /// @@ -35,12 +35,12 @@ public class DrawningAirbus /// /// Ширина самолета /// - private readonly int _drawningAirbusWidth = 145; + public readonly int _drawningAirbusWidth = 145; /// /// Высота самолета /// - private readonly int _drawningAirbusHeight = 50; + public readonly int _drawningAirbusHeight = 50; /// /// Инициализация свойств @@ -49,9 +49,7 @@ public class DrawningAirbus /// Вес /// Основной цвет /// Дополнительный цвет - /// - public void Init(int speed, double weight, Color bodyColor, Color additionalColor, bool additionalEngine, - bool passengerCompartment) + public void Init(int speed, double weight, Color bodyColor, Color additionalColor, bool additionalEngine, bool passengerCompartment) { EntityAirbus = new EntityAirbus(); EntityAirbus.Init(speed, weight, bodyColor, additionalColor, additionalEngine, passengerCompartment); @@ -69,7 +67,6 @@ public class DrawningAirbus /// public bool SetPictureSize(int width, int height) { - if (width < _drawningAirbusWidth || height < _drawningAirbusHeight) return false; _pictureWidth = width; _pictureHeight = height; return true; diff --git a/ProjectAirbus/ProjectAirbus/EntityAirbus.cs b/ProjectAirbus/ProjectAirbus/EntityAirbus.cs index 2aabd02..3296488 100644 --- a/ProjectAirbus/ProjectAirbus/EntityAirbus.cs +++ b/ProjectAirbus/ProjectAirbus/EntityAirbus.cs @@ -35,11 +35,6 @@ public class EntityAirbus /// public bool PassengerCompartment { get; private set; } - /// - /// Количество иллюминаторов - /// - public int NumberOfPortholes { get; private set; } - /// /// Шаг перемещения автомобиля /// @@ -53,7 +48,7 @@ public class EntityAirbus /// Основной цвет /// Дополнительный цвет /// Опция наличия дополнительного двигателя - /// Опция наличия + /// Опция наличия дополнительного отсека для пассажиров public void Init(int speed, double weight, Color bodyColor, Color additionalColor, bool additionalEngine, bool passengerCompartment) { diff --git a/ProjectAirbus/ProjectAirbus/FormAirbus.cs b/ProjectAirbus/ProjectAirbus/FormAirbus.cs index 39c018d..4ca834f 100644 --- a/ProjectAirbus/ProjectAirbus/FormAirbus.cs +++ b/ProjectAirbus/ProjectAirbus/FormAirbus.cs @@ -1,4 +1,6 @@ -namespace ProjectAirbus +using System.Diagnostics; + +namespace ProjectAirbus { /// @@ -35,6 +37,24 @@ pictureBoxAirbus.Image = bmp; } + /// + /// проверка, что объект влезает в размеры формы, если нет - форма увеличивается ровно так, чтобы вместить + /// + private void FormAirbusSizeChanged() + { + if (this.Width < _drawningAirbus._drawningAirbusWidth) + { + this.Width = _drawningAirbus._drawningAirbusWidth + 20; + _drawningAirbus.SetPictureSize(this.Width, this.Height); + } + + if (this.Height < _drawningAirbus._drawningAirbusHeight + 40) + { + this.Height = _drawningAirbus._drawningAirbusHeight + 40; + _drawningAirbus.SetPictureSize(this.Width, this.Height); + } + } + /// /// Обработка кнопки "создать" /// @@ -48,9 +68,12 @@ Color.FromArgb(random.Next(0, 256), random.Next(0, 256), random.Next(0, 256)), Color.FromArgb(random.Next(0, 256), random.Next(0, 256), random.Next(0, 256)), Convert.ToBoolean(random.Next(0, 2)), Convert.ToBoolean(random.Next(0, 2))); + _drawningAirbus.SetPictureSize(pictureBoxAirbus.Width, pictureBoxAirbus.Height); + FormAirbusSizeChanged(); _drawningAirbus.SetPosition(random.Next(10, 100), random.Next(10, 100)); + Draw(); }