Лабораторная работа №5 (доделал)
This commit is contained in:
parent
c8fb45e8a2
commit
07770841c0
@ -73,8 +73,10 @@
|
||||
groupBoxConfig.Controls.Add(labelSimpleObject);
|
||||
groupBoxConfig.Dock = DockStyle.Left;
|
||||
groupBoxConfig.Location = new Point(0, 0);
|
||||
groupBoxConfig.Margin = new Padding(2, 1, 2, 1);
|
||||
groupBoxConfig.Name = "groupBoxConfig";
|
||||
groupBoxConfig.Size = new Size(1153, 366);
|
||||
groupBoxConfig.Padding = new Padding(2, 1, 2, 1);
|
||||
groupBoxConfig.Size = new Size(621, 172);
|
||||
groupBoxConfig.TabIndex = 0;
|
||||
groupBoxConfig.TabStop = false;
|
||||
groupBoxConfig.Text = "Параметры";
|
||||
@ -89,9 +91,11 @@
|
||||
groupBoxColors.Controls.Add(panelBlue);
|
||||
groupBoxColors.Controls.Add(panelGreen);
|
||||
groupBoxColors.Controls.Add(panelRed);
|
||||
groupBoxColors.Location = new Point(479, 31);
|
||||
groupBoxColors.Location = new Point(258, 15);
|
||||
groupBoxColors.Margin = new Padding(2, 1, 2, 1);
|
||||
groupBoxColors.Name = "groupBoxColors";
|
||||
groupBoxColors.Size = new Size(577, 249);
|
||||
groupBoxColors.Padding = new Padding(2, 1, 2, 1);
|
||||
groupBoxColors.Size = new Size(311, 117);
|
||||
groupBoxColors.TabIndex = 8;
|
||||
groupBoxColors.TabStop = false;
|
||||
groupBoxColors.Text = "Цвета";
|
||||
@ -99,73 +103,82 @@
|
||||
// panelPurple
|
||||
//
|
||||
panelPurple.BackColor = Color.Purple;
|
||||
panelPurple.Location = new Point(477, 153);
|
||||
panelPurple.Location = new Point(257, 72);
|
||||
panelPurple.Margin = new Padding(2, 1, 2, 1);
|
||||
panelPurple.Name = "panelPurple";
|
||||
panelPurple.Size = new Size(76, 80);
|
||||
panelPurple.Size = new Size(41, 38);
|
||||
panelPurple.TabIndex = 7;
|
||||
//
|
||||
// panelBlack
|
||||
//
|
||||
panelBlack.BackColor = Color.Black;
|
||||
panelBlack.Location = new Point(326, 153);
|
||||
panelBlack.Location = new Point(176, 72);
|
||||
panelBlack.Margin = new Padding(2, 1, 2, 1);
|
||||
panelBlack.Name = "panelBlack";
|
||||
panelBlack.Size = new Size(76, 80);
|
||||
panelBlack.Size = new Size(41, 38);
|
||||
panelBlack.TabIndex = 6;
|
||||
//
|
||||
// panelGray
|
||||
//
|
||||
panelGray.BackColor = Color.Gray;
|
||||
panelGray.Location = new Point(173, 153);
|
||||
panelGray.Location = new Point(93, 72);
|
||||
panelGray.Margin = new Padding(2, 1, 2, 1);
|
||||
panelGray.Name = "panelGray";
|
||||
panelGray.Size = new Size(76, 80);
|
||||
panelGray.Size = new Size(41, 38);
|
||||
panelGray.TabIndex = 5;
|
||||
//
|
||||
// panelWhite
|
||||
//
|
||||
panelWhite.BackColor = Color.White;
|
||||
panelWhite.Location = new Point(22, 153);
|
||||
panelWhite.Location = new Point(12, 72);
|
||||
panelWhite.Margin = new Padding(2, 1, 2, 1);
|
||||
panelWhite.Name = "panelWhite";
|
||||
panelWhite.Size = new Size(76, 80);
|
||||
panelWhite.Size = new Size(41, 38);
|
||||
panelWhite.TabIndex = 4;
|
||||
//
|
||||
// panelYellow
|
||||
//
|
||||
panelYellow.BackColor = Color.Yellow;
|
||||
panelYellow.Location = new Point(477, 38);
|
||||
panelYellow.Location = new Point(257, 18);
|
||||
panelYellow.Margin = new Padding(2, 1, 2, 1);
|
||||
panelYellow.Name = "panelYellow";
|
||||
panelYellow.Size = new Size(76, 80);
|
||||
panelYellow.Size = new Size(41, 38);
|
||||
panelYellow.TabIndex = 3;
|
||||
//
|
||||
// panelBlue
|
||||
//
|
||||
panelBlue.BackColor = Color.Blue;
|
||||
panelBlue.Location = new Point(326, 38);
|
||||
panelBlue.Location = new Point(176, 18);
|
||||
panelBlue.Margin = new Padding(2, 1, 2, 1);
|
||||
panelBlue.Name = "panelBlue";
|
||||
panelBlue.Size = new Size(76, 80);
|
||||
panelBlue.Size = new Size(41, 38);
|
||||
panelBlue.TabIndex = 2;
|
||||
//
|
||||
// panelGreen
|
||||
//
|
||||
panelGreen.BackColor = Color.Green;
|
||||
panelGreen.Location = new Point(173, 38);
|
||||
panelGreen.Location = new Point(93, 18);
|
||||
panelGreen.Margin = new Padding(2, 1, 2, 1);
|
||||
panelGreen.Name = "panelGreen";
|
||||
panelGreen.Size = new Size(76, 80);
|
||||
panelGreen.Size = new Size(41, 38);
|
||||
panelGreen.TabIndex = 1;
|
||||
//
|
||||
// panelRed
|
||||
//
|
||||
panelRed.BackColor = Color.Red;
|
||||
panelRed.Location = new Point(22, 38);
|
||||
panelRed.Location = new Point(12, 18);
|
||||
panelRed.Margin = new Padding(2, 1, 2, 1);
|
||||
panelRed.Name = "panelRed";
|
||||
panelRed.Size = new Size(76, 80);
|
||||
panelRed.Size = new Size(41, 38);
|
||||
panelRed.TabIndex = 0;
|
||||
//
|
||||
// checkBoxCrane
|
||||
//
|
||||
checkBoxCrane.AutoSize = true;
|
||||
checkBoxCrane.Location = new Point(12, 212);
|
||||
checkBoxCrane.Location = new Point(6, 99);
|
||||
checkBoxCrane.Margin = new Padding(2, 1, 2, 1);
|
||||
checkBoxCrane.Name = "checkBoxCrane";
|
||||
checkBoxCrane.Size = new Size(311, 36);
|
||||
checkBoxCrane.Size = new Size(158, 19);
|
||||
checkBoxCrane.TabIndex = 7;
|
||||
checkBoxCrane.Text = "Признак наличия крана";
|
||||
checkBoxCrane.UseVisualStyleBackColor = true;
|
||||
@ -173,57 +186,63 @@
|
||||
// checkBoxContainer
|
||||
//
|
||||
checkBoxContainer.AutoSize = true;
|
||||
checkBoxContainer.Location = new Point(12, 273);
|
||||
checkBoxContainer.Location = new Point(6, 128);
|
||||
checkBoxContainer.Margin = new Padding(2, 1, 2, 1);
|
||||
checkBoxContainer.Name = "checkBoxContainer";
|
||||
checkBoxContainer.Size = new Size(392, 36);
|
||||
checkBoxContainer.Size = new Size(197, 19);
|
||||
checkBoxContainer.TabIndex = 6;
|
||||
checkBoxContainer.Text = "Признак наличия контейнеров";
|
||||
checkBoxContainer.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// numericUpDownWeight
|
||||
//
|
||||
numericUpDownWeight.Location = new Point(134, 117);
|
||||
numericUpDownWeight.Location = new Point(72, 55);
|
||||
numericUpDownWeight.Margin = new Padding(2, 1, 2, 1);
|
||||
numericUpDownWeight.Maximum = new decimal(new int[] { 1000, 0, 0, 0 });
|
||||
numericUpDownWeight.Minimum = new decimal(new int[] { 100, 0, 0, 0 });
|
||||
numericUpDownWeight.Name = "numericUpDownWeight";
|
||||
numericUpDownWeight.Size = new Size(189, 39);
|
||||
numericUpDownWeight.Size = new Size(102, 23);
|
||||
numericUpDownWeight.TabIndex = 5;
|
||||
numericUpDownWeight.Value = new decimal(new int[] { 100, 0, 0, 0 });
|
||||
//
|
||||
// labelWeight
|
||||
//
|
||||
labelWeight.AutoSize = true;
|
||||
labelWeight.Location = new Point(12, 119);
|
||||
labelWeight.Location = new Point(6, 56);
|
||||
labelWeight.Margin = new Padding(2, 0, 2, 0);
|
||||
labelWeight.Name = "labelWeight";
|
||||
labelWeight.Size = new Size(57, 32);
|
||||
labelWeight.Size = new Size(29, 15);
|
||||
labelWeight.TabIndex = 4;
|
||||
labelWeight.Text = "Вес:";
|
||||
//
|
||||
// numericUpDownSpeed
|
||||
//
|
||||
numericUpDownSpeed.Location = new Point(134, 56);
|
||||
numericUpDownSpeed.Location = new Point(72, 26);
|
||||
numericUpDownSpeed.Margin = new Padding(2, 1, 2, 1);
|
||||
numericUpDownSpeed.Maximum = new decimal(new int[] { 1000, 0, 0, 0 });
|
||||
numericUpDownSpeed.Minimum = new decimal(new int[] { 100, 0, 0, 0 });
|
||||
numericUpDownSpeed.Name = "numericUpDownSpeed";
|
||||
numericUpDownSpeed.Size = new Size(189, 39);
|
||||
numericUpDownSpeed.Size = new Size(102, 23);
|
||||
numericUpDownSpeed.TabIndex = 3;
|
||||
numericUpDownSpeed.Value = new decimal(new int[] { 100, 0, 0, 0 });
|
||||
//
|
||||
// labelSpeed
|
||||
//
|
||||
labelSpeed.AutoSize = true;
|
||||
labelSpeed.Location = new Point(12, 58);
|
||||
labelSpeed.Location = new Point(6, 27);
|
||||
labelSpeed.Margin = new Padding(2, 0, 2, 0);
|
||||
labelSpeed.Name = "labelSpeed";
|
||||
labelSpeed.Size = new Size(116, 32);
|
||||
labelSpeed.Size = new Size(59, 15);
|
||||
labelSpeed.TabIndex = 2;
|
||||
labelSpeed.Text = "Скорость";
|
||||
//
|
||||
// labelModifiedObject
|
||||
//
|
||||
labelModifiedObject.BorderStyle = BorderStyle.FixedSingle;
|
||||
labelModifiedObject.Location = new Point(785, 290);
|
||||
labelModifiedObject.Location = new Point(423, 136);
|
||||
labelModifiedObject.Margin = new Padding(2, 0, 2, 0);
|
||||
labelModifiedObject.Name = "labelModifiedObject";
|
||||
labelModifiedObject.Size = new Size(271, 64);
|
||||
labelModifiedObject.Size = new Size(147, 31);
|
||||
labelModifiedObject.TabIndex = 1;
|
||||
labelModifiedObject.Text = "Продвинутый";
|
||||
labelModifiedObject.TextAlign = ContentAlignment.MiddleCenter;
|
||||
@ -232,9 +251,10 @@
|
||||
// labelSimpleObject
|
||||
//
|
||||
labelSimpleObject.BorderStyle = BorderStyle.FixedSingle;
|
||||
labelSimpleObject.Location = new Point(479, 290);
|
||||
labelSimpleObject.Location = new Point(258, 136);
|
||||
labelSimpleObject.Margin = new Padding(2, 0, 2, 0);
|
||||
labelSimpleObject.Name = "labelSimpleObject";
|
||||
labelSimpleObject.Size = new Size(273, 64);
|
||||
labelSimpleObject.Size = new Size(148, 31);
|
||||
labelSimpleObject.TabIndex = 0;
|
||||
labelSimpleObject.Text = "Простой";
|
||||
labelSimpleObject.TextAlign = ContentAlignment.MiddleCenter;
|
||||
@ -242,17 +262,19 @@
|
||||
//
|
||||
// pictureBoxObject
|
||||
//
|
||||
pictureBoxObject.Location = new Point(14, 88);
|
||||
pictureBoxObject.Location = new Point(8, 41);
|
||||
pictureBoxObject.Margin = new Padding(2, 1, 2, 1);
|
||||
pictureBoxObject.Name = "pictureBoxObject";
|
||||
pictureBoxObject.Size = new Size(358, 172);
|
||||
pictureBoxObject.Size = new Size(193, 81);
|
||||
pictureBoxObject.TabIndex = 1;
|
||||
pictureBoxObject.TabStop = false;
|
||||
//
|
||||
// buttonCancel
|
||||
//
|
||||
buttonCancel.Location = new Point(1380, 299);
|
||||
buttonCancel.Location = new Point(743, 140);
|
||||
buttonCancel.Margin = new Padding(2, 1, 2, 1);
|
||||
buttonCancel.Name = "buttonCancel";
|
||||
buttonCancel.Size = new Size(151, 46);
|
||||
buttonCancel.Size = new Size(81, 22);
|
||||
buttonCancel.TabIndex = 3;
|
||||
buttonCancel.Text = "Отмена";
|
||||
buttonCancel.UseVisualStyleBackColor = true;
|
||||
@ -263,38 +285,48 @@
|
||||
panelObject.Controls.Add(labelAdditionalColor);
|
||||
panelObject.Controls.Add(labelBodyColor);
|
||||
panelObject.Controls.Add(pictureBoxObject);
|
||||
panelObject.Location = new Point(1159, 0);
|
||||
panelObject.Location = new Point(624, 0);
|
||||
panelObject.Margin = new Padding(2, 1, 2, 1);
|
||||
panelObject.Name = "panelObject";
|
||||
panelObject.Size = new Size(388, 280);
|
||||
panelObject.Size = new Size(209, 131);
|
||||
panelObject.TabIndex = 4;
|
||||
panelObject.DragDrop += PanelObject_DragDrop;
|
||||
panelObject.DragEnter += PanelObject_DragEnter;
|
||||
//
|
||||
// labelAdditionalColor
|
||||
//
|
||||
labelAdditionalColor.AllowDrop = true;
|
||||
labelAdditionalColor.BorderStyle = BorderStyle.FixedSingle;
|
||||
labelAdditionalColor.Location = new Point(201, 18);
|
||||
labelAdditionalColor.Location = new Point(108, 8);
|
||||
labelAdditionalColor.Margin = new Padding(2, 0, 2, 0);
|
||||
labelAdditionalColor.Name = "labelAdditionalColor";
|
||||
labelAdditionalColor.Size = new Size(171, 53);
|
||||
labelAdditionalColor.TabIndex = 3;
|
||||
labelAdditionalColor.Text = "Доп. Цвет";
|
||||
labelAdditionalColor.Size = new Size(93, 26);
|
||||
labelAdditionalColor.TabIndex = 5;
|
||||
labelAdditionalColor.Text = "Доп. цвет";
|
||||
labelAdditionalColor.TextAlign = ContentAlignment.MiddleCenter;
|
||||
labelAdditionalColor.DragDrop += LabelColor_DragDrop;
|
||||
labelAdditionalColor.DragEnter += LabelObject_DragEnter;
|
||||
//
|
||||
// labelBodyColor
|
||||
//
|
||||
labelBodyColor.AllowDrop = true;
|
||||
labelBodyColor.BorderStyle = BorderStyle.FixedSingle;
|
||||
labelBodyColor.Location = new Point(14, 18);
|
||||
labelBodyColor.Location = new Point(8, 8);
|
||||
labelBodyColor.Margin = new Padding(2, 0, 2, 0);
|
||||
labelBodyColor.Name = "labelBodyColor";
|
||||
labelBodyColor.Size = new Size(171, 53);
|
||||
labelBodyColor.TabIndex = 2;
|
||||
labelBodyColor.Size = new Size(93, 26);
|
||||
labelBodyColor.TabIndex = 4;
|
||||
labelBodyColor.Text = "Цвет";
|
||||
labelBodyColor.TextAlign = ContentAlignment.MiddleCenter;
|
||||
labelBodyColor.DragDrop += LabelColor_DragDrop;
|
||||
labelBodyColor.DragEnter += LabelObject_DragEnter;
|
||||
//
|
||||
// buttonAdd
|
||||
//
|
||||
buttonAdd.Location = new Point(1173, 299);
|
||||
buttonAdd.Location = new Point(632, 140);
|
||||
buttonAdd.Margin = new Padding(2, 1, 2, 1);
|
||||
buttonAdd.Name = "buttonAdd";
|
||||
buttonAdd.Size = new Size(151, 46);
|
||||
buttonAdd.Size = new Size(81, 22);
|
||||
buttonAdd.TabIndex = 5;
|
||||
buttonAdd.Text = "Добавить";
|
||||
buttonAdd.UseVisualStyleBackColor = true;
|
||||
@ -302,13 +334,14 @@
|
||||
//
|
||||
// FormShipConfig
|
||||
//
|
||||
AutoScaleDimensions = new SizeF(13F, 32F);
|
||||
AutoScaleDimensions = new SizeF(7F, 15F);
|
||||
AutoScaleMode = AutoScaleMode.Font;
|
||||
ClientSize = new Size(1559, 366);
|
||||
ClientSize = new Size(839, 172);
|
||||
Controls.Add(buttonAdd);
|
||||
Controls.Add(panelObject);
|
||||
Controls.Add(buttonCancel);
|
||||
Controls.Add(groupBoxConfig);
|
||||
Margin = new Padding(2, 1, 2, 1);
|
||||
Name = "FormShipConfig";
|
||||
Text = "Создание объекта";
|
||||
groupBoxConfig.ResumeLayout(false);
|
||||
@ -345,7 +378,7 @@
|
||||
private Button buttonCancel;
|
||||
private Panel panelObject;
|
||||
private Button buttonAdd;
|
||||
private Label labelAdditionalColor;
|
||||
private Label labelBodyColor;
|
||||
private Label labelAdditionalColor;
|
||||
}
|
||||
}
|
@ -70,7 +70,7 @@ public partial class FormShipConfig : Form
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Передаем информацию при нажатии на Label
|
||||
/// Передаем информацию при нажатии на label
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
@ -80,7 +80,7 @@ public partial class FormShipConfig : Form
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Проверка получаемой информации (ее типа на соответствие требуемому)
|
||||
/// Проверка получаемой информации(на её соответсвие требуемому)
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
@ -102,47 +102,48 @@ public partial class FormShipConfig : Form
|
||||
_ship = new DrawningShip((int)numericUpDownSpeed.Value, (double)numericUpDownWeight.Value, Color.White);
|
||||
break;
|
||||
case "labelModifiedObject":
|
||||
_ship = new DrawningContainerShip((int)numericUpDownSpeed.Value, (double)numericUpDownWeight.Value,
|
||||
Color.White, Color.Black, checkBoxCrane.Checked, checkBoxContainer.Checked);
|
||||
_ship = new DrawningContainerShip((int)numericUpDownSpeed.Value, (double)numericUpDownWeight.Value, Color.White,
|
||||
Color.Black, checkBoxCrane.Checked, checkBoxContainer.Checked);
|
||||
break;
|
||||
}
|
||||
DrawObject();
|
||||
}
|
||||
|
||||
private void LabelColors_DragDrop(object? sender, DragEventArgs e)
|
||||
private void Panel_MouseDown(object? sender, MouseEventArgs e)
|
||||
{
|
||||
if (_ship == null || sender == null || _ship.EntityShip == null)
|
||||
(sender as Panel)?.DoDragDrop((sender as Panel)?.BackColor ?? Color.White, DragDropEffects.Move | DragDropEffects.Copy);
|
||||
}
|
||||
|
||||
private void LabelObject_DragEnter(object sender, DragEventArgs e)
|
||||
{
|
||||
if (!e.Data.GetDataPresent(typeof(Color)))
|
||||
{
|
||||
return;
|
||||
e.Effect = DragDropEffects.None;
|
||||
}
|
||||
|
||||
Label label = (Label)sender;
|
||||
Color newColor = (Color)e.Data?.GetData(typeof(Color));
|
||||
|
||||
switch (label.Name)
|
||||
else
|
||||
{
|
||||
case "labelBodyColor":
|
||||
_ship.EntityShip.SetBodyColor(newColor);
|
||||
DrawObject();
|
||||
break;
|
||||
case "labelAdditionalColor":
|
||||
if (_ship is DrawningContainerShip)
|
||||
{
|
||||
(_ship.EntityShip as EntityContainerShip)?.SetAdditionalColor(newColor);
|
||||
DrawObject();
|
||||
}
|
||||
break;
|
||||
e.Effect = DragDropEffects.Copy;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Передаем информацию при нажатии на Panel
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void Panel_MouseDown(object? sender, MouseEventArgs e)
|
||||
private void LabelColor_DragDrop(object sender, DragEventArgs e)
|
||||
{
|
||||
(sender as Panel)?.DoDragDrop((sender as Panel)?.BackColor, DragDropEffects.Move | DragDropEffects.Copy);
|
||||
if (_ship == null) return;
|
||||
switch ((sender as Label).Name)
|
||||
{
|
||||
case "labelBodyColor":
|
||||
_ship.EntityShip?.SetBodyColor((Color)e.Data.GetData(typeof(Color)));
|
||||
break;
|
||||
case "labelAdditionalColor":
|
||||
if (_ship is DrawningContainerShip containerShip)
|
||||
{
|
||||
((EntityContainerShip)containerShip.EntityShip)?.SetAdditionalColor((Color)e.Data.GetData(typeof(Color)));
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
DrawObject();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -159,3 +160,5 @@ public partial class FormShipConfig : Form
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user