5 лабораторная работа (1)

This commit is contained in:
alhimek17 2024-04-21 20:30:42 +04:00
parent 4a843f7eaf
commit 557d17ab8a
5 changed files with 28 additions and 35 deletions

View File

@ -18,9 +18,9 @@ public class DrawningAirPlane : DrawningPlane
/// <param name="radar">Признак наличия обвеса</param> /// <param name="radar">Признак наличия обвеса</param>
/// <param name="dopBak">Признак наличия антикрыла</param> /// <param name="dopBak">Признак наличия антикрыла</param>
/// <param name="chassi">Признак наличия гоночной полосы</param> /// <param name="chassi">Признак наличия гоночной полосы</param>
public DrawningAirPlane(int speed, double weight, Color bodyColor, Color additionalColor, bool radar, bool dopBak, bool chassi) : base(195, 70) public DrawningAirPlane(int speed, double weight, Color bodyColor, Color additionalColor, bool radar, bool dopBak) : base(195, 70)
{ {
EntityPlane = new EntityAirPlane(speed, weight, bodyColor, additionalColor, radar, dopBak, chassi); EntityPlane = new EntityAirPlane(speed, weight, bodyColor, additionalColor, radar, dopBak);
} }

View File

@ -48,13 +48,13 @@ public class EntityAirPlane : EntityPlane
/// <param name="radar">Признак наличия обвеса</param> /// <param name="radar">Признак наличия обвеса</param>
/// <param name="dopBak">Признак наличия антикрыла</param> /// <param name="dopBak">Признак наличия антикрыла</param>
/// <param name="chassi">Признак наличия гоночной полосы</param> /// <param name="chassi">Признак наличия гоночной полосы</param>
public EntityAirPlane(int speed, double weight, Color bodyColor, Color additionalColor, bool radar, bool dopBak, bool chassi) : base(speed, weight, bodyColor) public EntityAirPlane(int speed, double weight, Color bodyColor, Color additionalColor, bool radar, bool dopBak) : base(speed, weight, bodyColor)
{ {
AdditionalColor = additionalColor; AdditionalColor = additionalColor;
Radar = radar; Radar = radar;
DopBak = dopBak; DopBak = dopBak;
Chassi = chassi;
} }
} }

View File

@ -46,7 +46,7 @@ public partial class FormPlaneCollection : Form
panelCompanyTools.Enabled = false; panelCompanyTools.Enabled = false;
} }
private void ButtonAddPlane_Click(object sender, EventArgs e) private void ButtonAddPlane_Click(object sender, EventArgs e)
{ {
FormPlaneConfig form = new(); FormPlaneConfig form = new();
@ -147,7 +147,7 @@ public partial class FormPlaneCollection : Form
pictureBox.Image = _company.Show(); pictureBox.Image = _company.Show();
} }
/// <summary> /// <summary>
/// Добавление коллекции /// Добавление коллекции
/// </summary> /// </summary>

View File

@ -38,7 +38,6 @@
panelWhite = new Panel(); panelWhite = new Panel();
panelGreen = new Panel(); panelGreen = new Panel();
panelRed = new Panel(); panelRed = new Panel();
checkBoxChassi = new CheckBox();
checkBoxDopBak = new CheckBox(); checkBoxDopBak = new CheckBox();
checkBoxRadar = new CheckBox(); checkBoxRadar = new CheckBox();
numericUpDownWeight = new NumericUpDown(); numericUpDownWeight = new NumericUpDown();
@ -64,7 +63,6 @@
// groupBoxConfig // groupBoxConfig
// //
groupBoxConfig.Controls.Add(groupBoxColors); groupBoxConfig.Controls.Add(groupBoxColors);
groupBoxConfig.Controls.Add(checkBoxChassi);
groupBoxConfig.Controls.Add(checkBoxDopBak); groupBoxConfig.Controls.Add(checkBoxDopBak);
groupBoxConfig.Controls.Add(checkBoxRadar); groupBoxConfig.Controls.Add(checkBoxRadar);
groupBoxConfig.Controls.Add(numericUpDownWeight); groupBoxConfig.Controls.Add(numericUpDownWeight);
@ -162,16 +160,6 @@
panelRed.Size = new Size(31, 30); panelRed.Size = new Size(31, 30);
panelRed.TabIndex = 0; panelRed.TabIndex = 0;
// //
// checkBoxChassi
//
checkBoxChassi.AutoSize = true;
checkBoxChassi.Location = new Point(12, 146);
checkBoxChassi.Name = "checkBoxChassi";
checkBoxChassi.Size = new Size(162, 19);
checkBoxChassi.TabIndex = 8;
checkBoxChassi.Text = "Признак наличия шасси";
checkBoxChassi.UseVisualStyleBackColor = true;
//
// checkBoxDopBak // checkBoxDopBak
// //
checkBoxDopBak.AutoSize = true; checkBoxDopBak.AutoSize = true;
@ -294,6 +282,7 @@
// //
// labelAdditionalColor // labelAdditionalColor
// //
labelAdditionalColor.AllowDrop = true;
labelAdditionalColor.BorderStyle = BorderStyle.FixedSingle; labelAdditionalColor.BorderStyle = BorderStyle.FixedSingle;
labelAdditionalColor.Location = new Point(226, 18); labelAdditionalColor.Location = new Point(226, 18);
labelAdditionalColor.Name = "labelAdditionalColor"; labelAdditionalColor.Name = "labelAdditionalColor";
@ -306,6 +295,7 @@
// //
// labelBodyColor // labelBodyColor
// //
labelBodyColor.AllowDrop = true;
labelBodyColor.BorderStyle = BorderStyle.FixedSingle; labelBodyColor.BorderStyle = BorderStyle.FixedSingle;
labelBodyColor.Location = new Point(20, 18); labelBodyColor.Location = new Point(20, 18);
labelBodyColor.Name = "labelBodyColor"; labelBodyColor.Name = "labelBodyColor";
@ -346,7 +336,6 @@
private NumericUpDown numericUpDownSpeed; private NumericUpDown numericUpDownSpeed;
private Label labelWeight; private Label labelWeight;
private NumericUpDown numericUpDownWeight; private NumericUpDown numericUpDownWeight;
private CheckBox checkBoxChassi;
private CheckBox checkBoxDopBak; private CheckBox checkBoxDopBak;
private CheckBox checkBoxRadar; private CheckBox checkBoxRadar;
private GroupBox groupBoxColors; private GroupBox groupBoxColors;

View File

@ -25,6 +25,8 @@ public partial class FormPlaneConfig : Form
/// </summary> /// </summary>
public FormPlaneConfig() public FormPlaneConfig()
{ {
InitializeComponent();
panelRed.MouseDown += Panel_MouseDown; panelRed.MouseDown += Panel_MouseDown;
panelGreen.MouseDown += Panel_MouseDown; panelGreen.MouseDown += Panel_MouseDown;
panelBlue.MouseDown += Panel_MouseDown; panelBlue.MouseDown += Panel_MouseDown;
@ -37,7 +39,7 @@ public partial class FormPlaneConfig : Form
// TODO buttonCancel.Click привязать анонимный метод через lambda с закрытием формы // TODO buttonCancel.Click привязать анонимный метод через lambda с закрытием формы
buttonCancel.Click += (sender, e) => Close(); buttonCancel.Click += (sender, e) => Close();
InitializeComponent();
} }
/// <summary> /// <summary>
@ -57,7 +59,7 @@ public partial class FormPlaneConfig : Form
Bitmap bmp = new(pictureBoxObject.Width, pictureBoxObject.Height); Bitmap bmp = new(pictureBoxObject.Width, pictureBoxObject.Height);
Graphics gr = Graphics.FromImage(bmp); Graphics gr = Graphics.FromImage(bmp);
_plane?.SetPictureSize(pictureBoxObject.Width, pictureBoxObject.Height); _plane?.SetPictureSize(pictureBoxObject.Width, pictureBoxObject.Height);
_plane?.SetPosition(15, 15); _plane?.SetPosition(110, 75);
_plane?.DrawTransport(gr); _plane?.DrawTransport(gr);
pictureBoxObject.Image = bmp; pictureBoxObject.Image = bmp;
} }
@ -97,7 +99,7 @@ public partial class FormPlaneConfig : Form
break; break;
case "labelModifiedObject": case "labelModifiedObject":
_plane = new DrawningAirPlane((int)numericUpDownSpeed.Value, (double)numericUpDownWeight.Value, Color.White, _plane = new DrawningAirPlane((int)numericUpDownSpeed.Value, (double)numericUpDownWeight.Value, Color.White,
Color.Black, checkBoxRadar.Checked, checkBoxDopBak.Checked, checkBoxChassi.Checked); Color.Black, checkBoxRadar.Checked, checkBoxDopBak.Checked);
break; break;
} }
DrawObject(); DrawObject();
@ -114,14 +116,6 @@ public partial class FormPlaneConfig : Form
(sender as Control)?.DoDragDrop((sender as Control).BackColor, DragDropEffects.Move | DragDropEffects.Copy); (sender as Control)?.DoDragDrop((sender as Control).BackColor, DragDropEffects.Move | DragDropEffects.Copy);
} }
// TODO Реализовать логику смены цветов: основного и дополнительного (для продвинутого объекта) // TODO Реализовать логику смены цветов: основного и дополнительного (для продвинутого объекта)
private void LabelBodyColor_DragDrop(object sender, DragEventArgs e)
{
if (_plane != null)
{
_plane.EntityPlane?.SetBodyColor((Color)e.Data.GetData(typeof(Color)));
DrawObject();
}
}
private void LabelBodyColor_DragEnter(object sender, DragEventArgs e) private void LabelBodyColor_DragEnter(object sender, DragEventArgs e)
{ {
@ -134,16 +128,16 @@ public partial class FormPlaneConfig : Form
e.Effect = DragDropEffects.None; e.Effect = DragDropEffects.None;
} }
} }
private void LabelBodyColor_DragDrop(object sender, DragEventArgs e)
private void LabelAdditionalColor_DragDrop(object sender, DragEventArgs e)
{ {
if (_plane.EntityPlane is EntityAirPlane _airplane) if (_plane != null)
{ {
_airplane.SetAdditionalColor((Color)e.Data.GetData(typeof(Color))); _plane.EntityPlane?.SetBodyColor((Color)e.Data.GetData(typeof(Color)));
DrawObject();
} }
DrawObject();
} }
private void LabelAdditionalColor_DragEnter(object sender, DragEventArgs e) private void LabelAdditionalColor_DragEnter(object sender, DragEventArgs e)
{ {
if (_plane is DrawningAirPlane) if (_plane is DrawningAirPlane)
@ -158,6 +152,16 @@ public partial class FormPlaneConfig : Form
} }
} }
} }
private void LabelAdditionalColor_DragDrop(object sender, DragEventArgs e)
{
if (_plane.EntityPlane is EntityAirPlane _airplane)
{
_airplane.SetAdditionalColor((Color)e.Data.GetData(typeof(Color)));
}
DrawObject();
}
private void ButtonAdd_Click(object sender, EventArgs e) private void ButtonAdd_Click(object sender, EventArgs e)
{ {