diff --git a/HoistingCrane/HoistingCrane/DrawingHoistingCrane.cs b/HoistingCrane/HoistingCrane/DrawingHoistingCrane.cs
index 0e80a4b..373405c 100644
--- a/HoistingCrane/HoistingCrane/DrawingHoistingCrane.cs
+++ b/HoistingCrane/HoistingCrane/DrawingHoistingCrane.cs
@@ -1,170 +1,209 @@
-namespace HoistingCrane
+namespace HoistingCrane;
+
+public class DrawingHoistingCrane
{
- public class DrawingHoistingCrane
+ /// Класс-сущность
+ public EntityHoistingCrane? EntityHoistingCrane { get; private set; }
+ /// Ширина окна
+ private int? _pictureWidth;
+ /// Высота окна
+ private int? _pictureHeight;
+ /// Левая координата прорисовки автомобиля
+ private int? _startPosX;
+ /// Верхняя кооридната прорисовки автомобиля
+ private int? _startPosY;
+ /// Ширина прорисовки автомобиля
+ private readonly int _drawningCraneWidth = 110;
+ /// Высота прорисовки автомобиля
+ private readonly int _drawningCraneHeight = 56;
+
+
+ /// Инициализация свойств
+ /// Скорость
+ /// Вес автомобиля
+ /// Основной цвет
+ /// Дополнительный цвет
+ /// Признак наличия крана
+ /// Признак наличия противовеса
+ public void Init(int speed, double weight, Color bodyColor, Color
+ additionalColor, bool crane, bool counterweight)
{
- /// Класс-сущность
- public EntityHoistingCrane? EntityHoistingCrane { get; private set; }
- /// Ширина окна
- private int? _pictureWidth;
- /// Высота окна
- private int? _pictureHeight;
- /// Левая координата прорисовки автомобиля
- private int? _startPosX;
- /// Верхняя кооридната прорисовки автомобиля
- private int? _startPosY;
- /// Ширина прорисовки автомобиля
- private readonly int _drawningCarWidth = 110;
- /// Высота прорисовки автомобиля
- private readonly int _drawningCarHeight = 60;
+ EntityHoistingCrane = new EntityHoistingCrane();
+ EntityHoistingCrane.Init(speed, weight, bodyColor, additionalColor, crane, counterweight);
+ _pictureWidth = null;
+ _pictureHeight = null;
+ _startPosX = null;
+ _startPosY = null;
+ }
-
- /// Инициализация свойств
- /// Скорость
- /// Вес автомобиля
- /// Основной цвет
- /// Дополнительный цвет
- /// Признак наличия крана
- /// Признак наличия противовеса
- public void Init(int speed, double weight, Color bodyColor, Color
- additionalColor, bool crane, bool counterweight)
+ /// Установка границ поля
+ /// Ширина поля
+ /// Высота поля
+ /// true - границы заданы, false - проверка не пройдена, нельзя разместить объект в этих размерах
+ public bool SetPictureSize(int width, int height)
+ {
+ // TODO проверка, что объект "влезает" в размеры поля
+ // если влезает, сохраняем границы и корректируем позицию объекта, если она была уже установлена
+ if (width < _drawningCraneWidth || height < _drawningCraneHeight)
{
- EntityHoistingCrane = new EntityHoistingCrane();
- EntityHoistingCrane.Init(speed, weight, bodyColor, additionalColor, crane, counterweight);
- _pictureWidth = null;
- _pictureHeight = null;
- _startPosX = null;
- _startPosY = null;
+ return false;
}
- /// Установка границ поля
- /// Ширина поля
- /// Высота поля
- /// true - границы заданы, false - проверка не пройдена, нельзя разместить объект в этих размерах
- public bool SetPictureSize(int width, int height)
- {
- // TODO проверка, что объект "влезает" в размеры поля
- // если влезает, сохраняем границы и корректируем позицию объекта, если она была уже установлена
- if (_drawningCarWidth > width || _drawningCarHeight > height)
- {
- return false;
- }
+ _pictureWidth = width;
+ _pictureHeight = height;
- if (_pictureWidth.HasValue && width != _pictureWidth || _pictureHeight.HasValue && height != _pictureHeight)
- {
- if (_startPosX + _drawningCarWidth > width)
+ if (_startPosX != null || _startPosY != null)
+ {
+ if (_startPosX + _drawningCraneWidth > _pictureWidth) _startPosX = _pictureWidth - _drawningCraneWidth;
+ if (_startPosY + _drawningCraneHeight > _pictureHeight) _startPosY = _pictureHeight - _drawningCraneHeight;
+ if (_startPosX < 0) _startPosX = 0;
+ if (_startPosY < 0) _startPosY = 0;
+ }
+ return true;
+ }
+ /// Установка позиции
+ /// Координата X
+ /// Координата Y
+ public void SetPosition(int x, int y)
+ {
+ if (!_pictureHeight.HasValue || !_pictureWidth.HasValue)
+ {
+ return;
+ }
+ // TODO если при установке объекта в эти координаты, он будет "выходить" за границы формы
+ // то надо изменить координаты, чтобы он оставался в этих границах
+ _startPosX = x;
+ _startPosY = y;
+ if (_startPosX + _drawningCraneWidth > _pictureWidth) _startPosX = _pictureWidth - _drawningCraneWidth;
+ if (_startPosY + _drawningCraneHeight > _pictureHeight) _startPosY = _pictureHeight - _drawningCraneHeight;
+ if (_startPosX < 0) _startPosX = 0;
+ if (_startPosY < 0) _startPosY = 0;
+ }
+ /// Изменение направления перемещения
+ /// Направление
+ /// true - перемещене выполнено, false - перемещение невозможно
+ public bool MoveTransport(DirectionType direction)
+ {
+ if (EntityHoistingCrane == null || !_startPosX.HasValue ||
+ !_startPosY.HasValue)
+ {
+ return false;
+ }
+ switch (direction)
+ {
+ //влево
+ case DirectionType.Left:
+ if (_startPosX.Value - EntityHoistingCrane.Step > 0)
{
- _startPosX -= _drawningCarWidth;
+ _startPosX -= (int)EntityHoistingCrane.Step;
}
-
- if (_startPosY + _drawningCarHeight > height)
+ return true;
+ //вверх
+ case DirectionType.Up:
+ if (_startPosY.Value - EntityHoistingCrane.Step > 0)
{
- _startPosY -= _drawningCarHeight;
+ _startPosY -= (int)EntityHoistingCrane.Step;
}
- }
-
- _pictureWidth = width;
- _pictureHeight = height;
- return true;
- }
- /// Установка позиции
- /// Координата X
- /// Координата Y
- public void SetPosition(int x, int y)
- {
- if (!_pictureHeight.HasValue || !_pictureWidth.HasValue)
- {
- return;
- }
-
- if (x < 0)
- {
- x = 0;
- }
- if (x + _drawningCarWidth > _pictureWidth)
- {
- x = (int)_pictureWidth - _drawningCarWidth;
- }
- if (y < 0)
- {
- y = 0;
- }
- if (y + _drawningCarHeight > _pictureHeight)
- {
- y = (int)_pictureHeight - _drawningCarHeight;
-
- }
- // TODO если при установке объекта в эти координаты, он будет "выходить" за границы формы
- // то надо изменить координаты, чтобы он оставался в этих границах
- _startPosX = x;
- _startPosY = y;
- }
- /// Изменение направления перемещения
- /// Направление
- /// true - перемещене выполнено, false - перемещение невозможно
- public bool MoveTransport(DirectionType direction)
- {
- if (EntityHoistingCrane == null || !_startPosX.HasValue ||
- !_startPosY.HasValue)
- {
+ return true;
+ // вправо
+ case DirectionType.Right:
+ if (_startPosX.Value + EntityHoistingCrane.Step < _pictureWidth - _drawningCraneWidth)
+ {
+ _startPosX += (int)EntityHoistingCrane.Step;
+ }
+ return true;
+ //вниз
+ case DirectionType.Down:
+ if (_startPosY.Value + EntityHoistingCrane.Step < _pictureHeight - _drawningCraneHeight)
+ {
+ _startPosY += (int)EntityHoistingCrane.Step;
+ }
+ return true;
+ default:
return false;
- }
- switch (direction)
- {
- //влево
- case DirectionType.Left:
- if (_startPosX.Value - EntityHoistingCrane.Step > 0)
- {
- _startPosX -= (int)EntityHoistingCrane.Step;
- }
- return true;
- //вверх
- case DirectionType.Up:
- if (_startPosY.Value - EntityHoistingCrane.Step > 0)
- {
- _startPosY -= (int)EntityHoistingCrane.Step;
- }
- return true;
- // вправо
- case DirectionType.Right:
- if (_startPosX.Value - EntityHoistingCrane.Step > _pictureWidth)
- {
- _startPosX += (int)EntityHoistingCrane.Step;
- }
- return true;
- //вниз
- case DirectionType.Down:
- if (_startPosY.Value - EntityHoistingCrane.Step > _pictureHeight)
- {
- _startPosY += (int)EntityHoistingCrane.Step;
- }
- return true;
- default:
- return false;
- }
+ }
+ }
+
+ ///
+ /// Прорисовка объекта
+ ///
+ ///
+
+ public void DrawTransport(Graphics g)
+ {
+ if (EntityHoistingCrane == null || !_startPosX.HasValue || !_startPosY.HasValue)
+ {
+ return;
+ }
+ Pen pen = new(Color.Black);
+ Brush additionalBrush = new SolidBrush(EntityHoistingCrane.AdditionalColor);
+ Brush BodyBrush = new SolidBrush(EntityHoistingCrane.BodyColor);
+ Brush CraneBrush = new SolidBrush(Color.Black);
+
+
+ //корпус
+ g.FillRectangle(BodyBrush, _startPosX.Value + 10, _startPosY.Value + 30, 62, 12);
+ g.DrawRectangle(pen, _startPosX.Value + 10, _startPosY.Value + 30, 62, 12);
+ g.FillRectangle(BodyBrush, _startPosX.Value + 22, _startPosY.Value + 16, 4, 15);
+ g.DrawRectangle(pen, _startPosX.Value + 22, _startPosY.Value + 16, 4, 14);
+ g.FillRectangle(BodyBrush, _startPosX.Value + 37, _startPosY.Value + 8, 5, 23);
+ g.DrawRectangle(pen, _startPosX.Value + 37, _startPosY.Value + 8, 5, 22);
+
+ //стекло
+ g.FillRectangle(additionalBrush, _startPosX.Value + 52, _startPosY.Value + 14, 21, 16);
+ g.DrawRectangle(pen, _startPosX.Value + 52, _startPosY.Value + 14, 20, 16);
+
+ //гусеницы
+ g.DrawLine(pen, _startPosX.Value + 8, _startPosY.Value + 42, _startPosX.Value + 10, _startPosY.Value + 42);
+ g.DrawLine(pen, _startPosX.Value + 7, _startPosY.Value + 43, _startPosX.Value + 7, _startPosY.Value + 53);
+ g.DrawLine(pen, _startPosX.Value + 8, _startPosY.Value + 54, _startPosX.Value + 12, _startPosY.Value + 54);
+ g.DrawLine(pen, _startPosX.Value + 13, _startPosY.Value + 55, _startPosX.Value + 69, _startPosY.Value + 55);
+ g.DrawLine(pen, _startPosX.Value + 70, _startPosY.Value + 54, _startPosX.Value + 73, _startPosY.Value + 54);
+ g.DrawLine(pen, _startPosX.Value + 74, _startPosY.Value + 53, _startPosX.Value + 74, _startPosY.Value + 43);
+ g.DrawLine(pen, _startPosX.Value + 71, _startPosY.Value + 42, _startPosX.Value + 73, _startPosY.Value + 42);
+
+ //колеса
+ g.FillEllipse(BodyBrush, _startPosX.Value + 10, _startPosY.Value + 44, 9, 9);
+ g.DrawEllipse(pen, _startPosX.Value + 10, _startPosY.Value + 44, 9, 9);
+ g.FillEllipse(BodyBrush, _startPosX.Value + 63, _startPosY.Value + 44, 9, 9);
+ g.DrawEllipse(pen, _startPosX.Value + 63, _startPosY.Value + 44, 9, 9);
+
+ g.FillEllipse(BodyBrush, _startPosX.Value + 25, _startPosY.Value + 48, 6, 6);
+ g.DrawEllipse(pen, _startPosX.Value + 25, _startPosY.Value + 48, 6, 6);
+ g.FillEllipse(BodyBrush, _startPosX.Value + 38, _startPosY.Value + 48, 6, 6);
+ g.DrawEllipse(pen, _startPosX.Value + 38, _startPosY.Value + 48, 6, 6);
+ g.FillEllipse(BodyBrush, _startPosX.Value + 50, _startPosY.Value + 48, 6, 6);
+ g.DrawEllipse(pen, _startPosX.Value + 50, _startPosY.Value + 48, 6, 6);
+
+ g.FillEllipse(BodyBrush, _startPosX.Value + 33, _startPosY.Value + 44, 4, 4);
+ g.DrawEllipse(pen, _startPosX.Value + 33, _startPosY.Value + 44, 4, 4);
+ g.FillEllipse(BodyBrush, _startPosX.Value + 45, _startPosY.Value + 44, 4, 4);
+ g.DrawEllipse(pen, _startPosX.Value + 45, _startPosY.Value + 44, 4, 4);
+
+ //кран
+ if (EntityHoistingCrane.Crane)
+ {
+ //балка
+ g.FillRectangle(BodyBrush, _startPosX.Value, _startPosY.Value, 110, 9);
+ g.DrawRectangle(pen, _startPosX.Value, _startPosY.Value, 109, 8);
+ //крюк
+ g.FillRectangle(CraneBrush, _startPosX.Value + 107, _startPosY.Value + 8, 3, 13);
+ g.FillRectangle(CraneBrush, _startPosX.Value + 102, _startPosY.Value + 18, 8, 3);
+ g.FillRectangle(CraneBrush, _startPosX.Value + 102, _startPosY.Value + 16, 3, 5);
}
- ///
- /// Прорисовка объекта
- ///
- ///
-
- public void DrawTransport(Graphics g)
+ //противовес
+ if (EntityHoistingCrane.Counterweight)
{
- if (EntityHoistingCrane == null || !_startPosX.HasValue || !_startPosY.HasValue)
- {
- return;
- }
-
- Pen pen = new(Color.Black);
- Brush additionalBrush = new SolidBrush(EntityHoistingCrane.AdditionalColor);
-
- //границы крана
-
-
- }
-
+ g.FillRectangle(additionalBrush, _startPosX.Value + 35, _startPosY.Value, 10, 9);
+ g.DrawRectangle(pen, _startPosX.Value + 35, _startPosY.Value, 9, 8);
+ g.DrawLine(pen, _startPosX.Value + 35, _startPosY.Value + 2, _startPosX.Value + 44, _startPosY.Value + 2);
+ g.DrawLine(pen, _startPosX.Value + 35, _startPosY.Value + 4, _startPosX.Value + 44, _startPosY.Value + 4);
+ g.DrawLine(pen, _startPosX.Value + 35, _startPosY.Value + 6, _startPosX.Value + 44, _startPosY.Value + 6);
+ }
}
}
+
diff --git a/HoistingCrane/HoistingCrane/FormHoistingCrane.Designer.cs b/HoistingCrane/HoistingCrane/FormHoistingCrane.Designer.cs
index dac4d39..2a28bac 100644
--- a/HoistingCrane/HoistingCrane/FormHoistingCrane.Designer.cs
+++ b/HoistingCrane/HoistingCrane/FormHoistingCrane.Designer.cs
@@ -28,102 +28,126 @@
///
private void InitializeComponent()
{
+ pictureBox1 = new PictureBox();
pictureBoxHoistingCrane = new PictureBox();
- buttonLeft = new Button();
- buttonRight = new Button();
- buttonUp = new Button();
- buttonDown = new Button();
buttonCreate = new Button();
+ buttonLeft = new Button();
+ buttonUp = new Button();
+ buttonRight = new Button();
+ buttonDown = new Button();
+ ((System.ComponentModel.ISupportInitialize)pictureBox1).BeginInit();
((System.ComponentModel.ISupportInitialize)pictureBoxHoistingCrane).BeginInit();
SuspendLayout();
//
+ // pictureBox1
+ //
+ pictureBox1.Dock = DockStyle.Fill;
+ pictureBox1.Location = new Point(0, 0);
+ pictureBox1.Name = "pictureBox1";
+ pictureBox1.Size = new Size(682, 453);
+ pictureBox1.SizeMode = PictureBoxSizeMode.AutoSize;
+ pictureBox1.TabIndex = 0;
+ pictureBox1.TabStop = false;
+ //
// pictureBoxHoistingCrane
//
pictureBoxHoistingCrane.Dock = DockStyle.Fill;
pictureBoxHoistingCrane.Location = new Point(0, 0);
pictureBoxHoistingCrane.Name = "pictureBoxHoistingCrane";
- pictureBoxHoistingCrane.Size = new Size(800, 462);
- pictureBoxHoistingCrane.TabIndex = 0;
+ pictureBoxHoistingCrane.Size = new Size(682, 453);
+ pictureBoxHoistingCrane.SizeMode = PictureBoxSizeMode.AutoSize;
+ pictureBoxHoistingCrane.TabIndex = 1;
pictureBoxHoistingCrane.TabStop = false;
//
+ // buttonCreate
+ //
+ buttonCreate.Anchor = AnchorStyles.Bottom | AnchorStyles.Left;
+ buttonCreate.Location = new Point(24, 402);
+ buttonCreate.Name = "buttonCreate";
+ buttonCreate.Size = new Size(94, 29);
+ buttonCreate.TabIndex = 2;
+ buttonCreate.Text = "Создать";
+ buttonCreate.UseVisualStyleBackColor = true;
+ buttonCreate.Click += buttonCreate_Click;
+ //
// buttonLeft
//
buttonLeft.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
buttonLeft.BackgroundImage = Properties.Resources.arrowLeft;
- buttonLeft.BackgroundImageLayout = ImageLayout.Stretch;
- buttonLeft.Location = new Point(668, 415);
+ buttonLeft.BackgroundImageLayout = ImageLayout.Zoom;
+ buttonLeft.Location = new Point(550, 402);
buttonLeft.Name = "buttonLeft";
- buttonLeft.Size = new Size(35, 35);
- buttonLeft.TabIndex = 2;
+ buttonLeft.Size = new Size(30, 30);
+ buttonLeft.TabIndex = 3;
buttonLeft.UseVisualStyleBackColor = true;
- //
- // buttonRight
- //
- buttonRight.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
- buttonRight.BackgroundImage = Properties.Resources.arrowRight;
- buttonRight.BackgroundImageLayout = ImageLayout.Stretch;
- buttonRight.Location = new Point(750, 415);
- buttonRight.Name = "buttonRight";
- buttonRight.Size = new Size(35, 35);
- buttonRight.TabIndex = 3;
- buttonRight.UseVisualStyleBackColor = true;
+ buttonLeft.Click += buttonMove_Click;
//
// buttonUp
//
buttonUp.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
buttonUp.BackgroundImage = Properties.Resources.arrowUp;
- buttonUp.BackgroundImageLayout = ImageLayout.Stretch;
- buttonUp.Location = new Point(709, 374);
+ buttonUp.BackgroundImageLayout = ImageLayout.Zoom;
+ buttonUp.Location = new Point(586, 365);
buttonUp.Name = "buttonUp";
- buttonUp.Size = new Size(35, 35);
+ buttonUp.Size = new Size(30, 30);
buttonUp.TabIndex = 4;
buttonUp.UseVisualStyleBackColor = true;
+ buttonUp.Click += buttonMove_Click;
+ //
+ // buttonRight
+ //
+ buttonRight.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
+ buttonRight.BackgroundImage = Properties.Resources.arrowRight;
+ buttonRight.BackgroundImageLayout = ImageLayout.Zoom;
+ buttonRight.Location = new Point(622, 401);
+ buttonRight.Name = "buttonRight";
+ buttonRight.Size = new Size(30, 30);
+ buttonRight.TabIndex = 5;
+ buttonRight.UseVisualStyleBackColor = true;
+ buttonRight.Click += buttonMove_Click;
//
// buttonDown
//
buttonDown.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
buttonDown.BackgroundImage = Properties.Resources.arrowDown;
- buttonDown.BackgroundImageLayout = ImageLayout.Stretch;
- buttonDown.Location = new Point(709, 415);
+ buttonDown.BackgroundImageLayout = ImageLayout.Zoom;
+ buttonDown.Location = new Point(586, 402);
buttonDown.Name = "buttonDown";
- buttonDown.Size = new Size(35, 35);
- buttonDown.TabIndex = 5;
+ buttonDown.Size = new Size(30, 30);
+ buttonDown.TabIndex = 6;
buttonDown.UseVisualStyleBackColor = true;
- //
- // buttonCreate
- //
- buttonCreate.Anchor = AnchorStyles.Bottom | AnchorStyles.Left;
- buttonCreate.Location = new Point(12, 427);
- buttonCreate.Name = "buttonCreate";
- buttonCreate.Size = new Size(75, 23);
- buttonCreate.TabIndex = 6;
- buttonCreate.Text = "Создать";
- buttonCreate.UseVisualStyleBackColor = true;
+ buttonDown.Click += buttonMove_Click;
//
// FormHoistingCrane
//
- AutoScaleDimensions = new SizeF(7F, 15F);
+ AutoScaleDimensions = new SizeF(8F, 20F);
AutoScaleMode = AutoScaleMode.Font;
- ClientSize = new Size(800, 462);
- Controls.Add(buttonCreate);
+ ClientSize = new Size(682, 453);
Controls.Add(buttonDown);
- Controls.Add(buttonUp);
Controls.Add(buttonRight);
+ Controls.Add(buttonUp);
Controls.Add(buttonLeft);
+ Controls.Add(buttonCreate);
Controls.Add(pictureBoxHoistingCrane);
+ Controls.Add(pictureBox1);
Name = "FormHoistingCrane";
+ StartPosition = FormStartPosition.CenterScreen;
Text = "Подъёмный кран";
+
+ ((System.ComponentModel.ISupportInitialize)pictureBox1).EndInit();
((System.ComponentModel.ISupportInitialize)pictureBoxHoistingCrane).EndInit();
ResumeLayout(false);
+ PerformLayout();
}
#endregion
+ private PictureBox pictureBox1;
private PictureBox pictureBoxHoistingCrane;
- private Button buttonLeft;
- private Button buttonRight;
- private Button buttonUp;
- private Button buttonDown;
private Button buttonCreate;
+ private Button buttonLeft;
+ private Button buttonUp;
+ private Button buttonRight;
+ private Button buttonDown;
}
}
\ No newline at end of file
diff --git a/HoistingCrane/HoistingCrane/FormHoistingCrane.cs b/HoistingCrane/HoistingCrane/FormHoistingCrane.cs
index 155dc4c..a87201e 100644
--- a/HoistingCrane/HoistingCrane/FormHoistingCrane.cs
+++ b/HoistingCrane/HoistingCrane/FormHoistingCrane.cs
@@ -18,26 +18,70 @@ namespace HoistingCrane
{
InitializeComponent();
}
-
- private void pictureBoxHoistingCrane_Click(object sender, EventArgs e)
+ /// Метод прорисовки машины
+ private void Draw()
{
-
+ if (_drawingHoistingCrane == null)
+ {
+ return;
+ }
+ Bitmap bmp = new(pictureBoxHoistingCrane.Width,
+ pictureBoxHoistingCrane.Height);
+ Graphics gr = Graphics.FromImage(bmp);
+ _drawingHoistingCrane.DrawTransport(gr);
+ pictureBoxHoistingCrane.Image = bmp;
}
- private void ButtonCreate_Click(object sender, EventArgs e)
+ /// Обработка нажатия кнопки "Создать"
+ ///
+ ///
+ private void buttonCreate_Click(object sender, EventArgs e)
{
Random random = new();
_drawingHoistingCrane = new DrawingHoistingCrane();
_drawingHoistingCrane.Init(random.Next(100, 300), random.Next(1000, 3000),
- 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)));
-
- Bitmap bmp = new(pictureBoxHoistingCrane.Width, pictureBoxHoistingCrane.Height);
- Graphics gr = Graphics.FromImage(bmp);
- _drawingHoistingCrane.DrawTransport(gr);
- pictureBoxHoistingCrane.Image = bmp;
+ 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)));
+ _drawingHoistingCrane.SetPictureSize(pictureBoxHoistingCrane.Width, pictureBoxHoistingCrane.Height);
+ _drawingHoistingCrane.SetPosition(random.Next(10, 100), random.Next(10, 100));
+ Draw();
+ }
+ /// Перемещение объекта по форме (нажатие кнопок навигации)
+ ///
+ ///
+ private void buttonMove_Click(object sender, EventArgs e)
+ {
+ if (_drawingHoistingCrane == null)
+ {
+ return;
+ }
+ string name = ((Button)sender)?.Name ?? string.Empty;
+ bool result = false;
+ switch (name)
+ {
+ case "buttonUp":
+ result =
+ _drawingHoistingCrane.MoveTransport(DirectionType.Up);
+ break;
+ case "buttonDown":
+ result =
+ _drawingHoistingCrane.MoveTransport(DirectionType.Down);
+ break;
+ case "buttonLeft":
+ result =
+ _drawingHoistingCrane.MoveTransport(DirectionType.Left);
+ break;
+ case "buttonRight":
+ result =
+ _drawingHoistingCrane.MoveTransport(DirectionType.Right);
+ break;
+ }
+ if (result)
+ {
+ Draw();
+ }
}
}
}