From 790766694c3a7457b438574f4f9a40f7559e6a6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=98=D0=B3=D0=BE=D1=80=D1=8C=20=D0=93=D0=BE=D1=80=D0=B4?= =?UTF-8?q?=D0=B5=D0=B5=D0=B2?= <89176335310x@gmail.com> Date: Fri, 1 Dec 2023 16:56:49 +0400 Subject: [PATCH] =?UTF-8?q?=D0=91=D0=B5=D0=B7=20=D1=82=D0=B5=D0=BE=D1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DrawningElectricLocomotive.cs | 11 +++--- .../ElectricLocomotive/DrawningLocomotive.cs | 4 +-- .../ElectricLocomotive/ElectricLocomotive.cs | 6 ++-- .../EntityElectricLocomotive.cs | 10 ++++-- .../FormLocomotiveCollection.cs | 23 ++++++------ .../FormLocomotiveConfig.Designer.cs | 35 +++++++++++++------ .../FormLocomotiveConfig.cs | 2 +- 7 files changed, 56 insertions(+), 35 deletions(-) diff --git a/ElectricLocomotive/ElectricLocomotive/DrawningElectricLocomotive.cs b/ElectricLocomotive/ElectricLocomotive/DrawningElectricLocomotive.cs index 88f372e..aa3c61e 100644 --- a/ElectricLocomotive/ElectricLocomotive/DrawningElectricLocomotive.cs +++ b/ElectricLocomotive/ElectricLocomotive/DrawningElectricLocomotive.cs @@ -10,13 +10,13 @@ namespace ElectricLocomotive { public class DrawningElectricLocomotive : DrawningLocomotive { - public DrawningElectricLocomotive(int speed, double weight, Color bodyColor, Color additionalColor, bool Horns, int width, int height) + public DrawningElectricLocomotive(int speed, double weight, Color bodyColor, Color additionalColor, bool Horns_1,bool Horns_2, int width, int height) : base (speed, weight, bodyColor, width , height) { if (EntityLocomotive != null) { EntityLocomotive = new EntityElectroLocomotive(speed, weight, bodyColor, - additionalColor, Horns); + additionalColor, Horns_1,Horns_2); } } @@ -29,7 +29,7 @@ namespace ElectricLocomotive Pen pen = new(electroLocomotive.BodyColor) ; Brush brush = new SolidBrush(electroLocomotive.AdditionalColor); // обвесы - if (electroLocomotive.Horns) + if (electroLocomotive.Horns_1) { g.FillRectangle(brush, _startPosX + 25, _startPosY + 5, 15, 5); @@ -44,7 +44,9 @@ namespace ElectricLocomotive new Point(_startPosX+40,_startPosY+10) }; g.DrawPolygon(pen, horns); - + } + if (electroLocomotive.Horns_2) + { g.FillRectangle(brush, _startPosX + 65, _startPosY + 5, 15, 5); Point[] horns2 = { @@ -57,6 +59,7 @@ namespace ElectricLocomotive new Point(_startPosX+80,_startPosY+10) }; g.DrawPolygon(pen, horns2); + } base.DrawTransport(g); } diff --git a/ElectricLocomotive/ElectricLocomotive/DrawningLocomotive.cs b/ElectricLocomotive/ElectricLocomotive/DrawningLocomotive.cs index 8e0ef98..77d2d9a 100644 --- a/ElectricLocomotive/ElectricLocomotive/DrawningLocomotive.cs +++ b/ElectricLocomotive/ElectricLocomotive/DrawningLocomotive.cs @@ -15,9 +15,9 @@ namespace ElectricLocomotive.DrawningObject { public EntityLocomotive? EntityLocomotive { get; protected set; } - protected int _pictureWidth; + public int _pictureWidth; - protected int _pictureHeight; + public int _pictureHeight; protected int _startPosX; diff --git a/ElectricLocomotive/ElectricLocomotive/ElectricLocomotive.cs b/ElectricLocomotive/ElectricLocomotive/ElectricLocomotive.cs index 108187d..37a0170 100644 --- a/ElectricLocomotive/ElectricLocomotive/ElectricLocomotive.cs +++ b/ElectricLocomotive/ElectricLocomotive/ElectricLocomotive.cs @@ -50,13 +50,15 @@ namespace ElectricLocomotive Random random = new(); Color color = Color.FromArgb(random.Next(0, 256), random.Next(0, 256), random.Next(0, 256)); Color dopColor = Color.FromArgb(random.Next(0, 256), random.Next(0, 256), random.Next(0, 256)); - bool Horns = Convert.ToBoolean(random.Next(0, 2)); + bool Horns_1 = Convert.ToBoolean(random.Next(0, 2)); + bool Horns_2 = Convert.ToBoolean(random.Next(0, 2)); + ColorDialog dialog = new(); if (dialog.ShowDialog() == DialogResult.OK) color = dialog.Color; if (dialog.ShowDialog() == DialogResult.OK) dopColor = dialog.Color; - _drawningLocomotive = new DrawningElectricLocomotive(random.Next(100, 300), random.Next(1000, 3000), color, dopColor, Horns, pictureBoxElectroLocomotiv.Width, pictureBoxElectroLocomotiv.Height); + _drawningLocomotive = new DrawningElectricLocomotive(random.Next(100, 300), random.Next(1000, 3000), color, dopColor, Horns_1,Horns_2, pictureBoxElectroLocomotiv.Width, pictureBoxElectroLocomotiv.Height); _drawningLocomotive.SetPosition(random.Next(10, 100), random.Next(10, 100)); Draw(); } diff --git a/ElectricLocomotive/ElectricLocomotive/EntityElectricLocomotive.cs b/ElectricLocomotive/ElectricLocomotive/EntityElectricLocomotive.cs index 2ee3d96..392cd33 100644 --- a/ElectricLocomotive/ElectricLocomotive/EntityElectricLocomotive.cs +++ b/ElectricLocomotive/ElectricLocomotive/EntityElectricLocomotive.cs @@ -11,14 +11,18 @@ namespace ElectricLocomotive.Entities { public Color AdditionalColor { get; private set; } - public bool Horns { get; private set; } + public bool Horns_1 { get; private set; } /// /// Признак (опция) roga /// - public EntityElectroLocomotive(int Speed, double weight, Color bodyColor, Color additionalColor, bool horns) : base(Speed,weight,bodyColor) + /// + public bool Horns_2 { get; private set; } + + public EntityElectroLocomotive(int Speed, double weight, Color bodyColor, Color additionalColor, bool horns_1, bool horns_2) : base(Speed, weight, bodyColor) { AdditionalColor = additionalColor; - Horns = horns; + Horns_1 = horns_1; + Horns_2 = horns_2; } public void SetAdditionalColor(Color color) { diff --git a/ElectricLocomotive/ElectricLocomotive/FormLocomotiveCollection.cs b/ElectricLocomotive/ElectricLocomotive/FormLocomotiveCollection.cs index 77e4364..f2ccf7b 100644 --- a/ElectricLocomotive/ElectricLocomotive/FormLocomotiveCollection.cs +++ b/ElectricLocomotive/ElectricLocomotive/FormLocomotiveCollection.cs @@ -82,6 +82,9 @@ namespace ElectricLocomotive } public void NAddLocomotive(DrawningLocomotive loco) { + loco._pictureWidth = CollectionPictureBox.Width; + loco._pictureHeight = CollectionPictureBox.Height; + if (listBoxStorage.SelectedIndex == -1) return; var obj = _storage[listBoxStorage.SelectedItem.ToString() ?? string.Empty]; @@ -90,19 +93,15 @@ namespace ElectricLocomotive return; } - ElectricLocomotive form = new(); - if (form.ShowDialog() == DialogResult.OK) + //проверяем, удалось ли нам загрузить объект + if (obj + loco > -1) { - //проверяем, удалось ли нам загрузить объект - if (obj + form.SelectedLocomotive > -1) - { - MessageBox.Show("Объект добавлен"); - CollectionPictureBox.Image = obj.ShowLocomotives(); - } - else - { - MessageBox.Show("Не удалось добавить объект"); - } + MessageBox.Show("Объект добавлен"); + CollectionPictureBox.Image = obj.ShowLocomotives(); + } + else + { + MessageBox.Show("Не удалось добавить объект"); } } diff --git a/ElectricLocomotive/ElectricLocomotive/FormLocomotiveConfig.Designer.cs b/ElectricLocomotive/ElectricLocomotive/FormLocomotiveConfig.Designer.cs index 002cbb3..84e698a 100644 --- a/ElectricLocomotive/ElectricLocomotive/FormLocomotiveConfig.Designer.cs +++ b/ElectricLocomotive/ElectricLocomotive/FormLocomotiveConfig.Designer.cs @@ -40,7 +40,7 @@ panelColorBlue = new Panel(); panelColorGreen = new Panel(); panelColorRed = new Panel(); - checkBoxPantograph = new CheckBox(); + checkBoxPantograph_1 = new CheckBox(); numericUpDownWeight = new NumericUpDown(); numericUpDownSpeed = new NumericUpDown(); labelWeight = new Label(); @@ -51,6 +51,7 @@ labelSimpleColor = new Label(); buttonAddObject = new Button(); buttonCancelObject = new Button(); + checkBoxPantograph_2 = new CheckBox(); groupBoxConfig.SuspendLayout(); groupBoxColors.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)numericUpDownWeight).BeginInit(); @@ -61,10 +62,11 @@ // // groupBoxConfig // + groupBoxConfig.Controls.Add(checkBoxPantograph_2); groupBoxConfig.Controls.Add(labelAdvancedObject); groupBoxConfig.Controls.Add(labelSimpleObject); groupBoxConfig.Controls.Add(groupBoxColors); - groupBoxConfig.Controls.Add(checkBoxPantograph); + groupBoxConfig.Controls.Add(checkBoxPantograph_1); groupBoxConfig.Controls.Add(numericUpDownWeight); groupBoxConfig.Controls.Add(numericUpDownSpeed); groupBoxConfig.Controls.Add(labelWeight); @@ -190,15 +192,15 @@ panelColorRed.TabIndex = 0; panelColorRed.MouseDown += PanelColor_MouseDown; // - // checkBoxPantograph + // checkBoxPantograph_1 // - checkBoxPantograph.AutoSize = true; - checkBoxPantograph.Location = new Point(10, 124); - checkBoxPantograph.Name = "checkBoxPantograph"; - checkBoxPantograph.Size = new Size(172, 19); - checkBoxPantograph.TabIndex = 4; - checkBoxPantograph.Text = "Наличие токоприемников"; - checkBoxPantograph.UseVisualStyleBackColor = true; + checkBoxPantograph_1.AutoSize = true; + checkBoxPantograph_1.Location = new Point(10, 124); + checkBoxPantograph_1.Name = "checkBoxPantograph_1"; + checkBoxPantograph_1.Size = new Size(154, 19); + checkBoxPantograph_1.TabIndex = 4; + checkBoxPantograph_1.Text = "Первый токоприемник"; + checkBoxPantograph_1.UseVisualStyleBackColor = true; // // numericUpDownWeight // @@ -304,6 +306,16 @@ buttonCancelObject.Text = "Отмена"; buttonCancelObject.UseVisualStyleBackColor = true; // + // checkBoxPantograph_2 + // + checkBoxPantograph_2.AutoSize = true; + checkBoxPantograph_2.Location = new Point(10, 149); + checkBoxPantograph_2.Name = "checkBoxPantograph_2"; + checkBoxPantograph_2.Size = new Size(150, 19); + checkBoxPantograph_2.TabIndex = 10; + checkBoxPantograph_2.Text = "Второй токоприемник"; + checkBoxPantograph_2.UseVisualStyleBackColor = true; + // // FormLocomotiveConfig // AutoScaleDimensions = new SizeF(7F, 15F); @@ -332,7 +344,7 @@ private Label labelSpeed; private CheckBox checkBox3; private CheckBox checkBox2; - private CheckBox checkBoxPantograph; + private CheckBox checkBoxPantograph_1; private NumericUpDown numericUpDownWeight; private NumericUpDown numericUpDownSpeed; private GroupBox groupBoxColors; @@ -352,5 +364,6 @@ private Label labelSimpleColor; private Button buttonAddObject; private Button buttonCancelObject; + private CheckBox checkBoxPantograph_2; } } \ No newline at end of file diff --git a/ElectricLocomotive/ElectricLocomotive/FormLocomotiveConfig.cs b/ElectricLocomotive/ElectricLocomotive/FormLocomotiveConfig.cs index 8e6ea2f..33c1044 100644 --- a/ElectricLocomotive/ElectricLocomotive/FormLocomotiveConfig.cs +++ b/ElectricLocomotive/ElectricLocomotive/FormLocomotiveConfig.cs @@ -78,7 +78,7 @@ namespace ElectricLocomotive break; case "labelAdvancedObject": _locomotive = new DrawningElectricLocomotive((int)numericUpDownSpeed.Value, - (int)numericUpDownWeight.Value, Color.Blue, Color.Red, checkBoxPantograph.Checked, + (int)numericUpDownWeight.Value, Color.Blue, Color.Red, checkBoxPantograph_1.Checked, checkBoxPantograph_2.Checked, pictureBoxLoco.Width, pictureBoxLoco.Height); break; }