Лабораторная работа №1

This commit is contained in:
vasmaae 2024-02-25 00:57:48 +04:00
parent a2ddb6d06e
commit cb18d4e7c2
2 changed files with 27 additions and 25 deletions

View File

@ -67,9 +67,28 @@ public class DrawningAirbus
/// <returns></returns> /// <returns></returns>
public bool SetPictureSize(int width, int height) public bool SetPictureSize(int width, int height)
{ {
_pictureWidth = width; if (width > _drawningAirbusWidth && height > _drawningAirbusHeight)
_pictureHeight = height; {
return true; _pictureWidth = width;
_pictureHeight = height;
if (_startPosX != null && _startPosY != null)
{
if (_startPosX.Value < 0) _startPosX = 0;
if (_startPosY.Value < 0) _startPosY = 0;
if (_startPosX.Value + _drawningAirbusWidth > _pictureWidth)
{
_startPosX = _pictureWidth - _drawningAirbusWidth;
}
if (_startPosY.Value + _drawningAirbusHeight > _pictureHeight)
{
_startPosY = _pictureHeight - _drawningAirbusHeight;
}
}
return true;
}
return false;
} }
/// <summary> /// <summary>
@ -84,11 +103,13 @@ public class DrawningAirbus
return; return;
} }
if (x + _drawningAirbusWidth > _pictureWidth.Value) { x = 0; }
if (y + _drawningAirbusHeight > _pictureHeight.Value) { y = 0; }
_startPosX = x; _startPosX = x;
_startPosY = y; _startPosY = y;
if (_startPosX + _drawningAirbusWidth > _pictureWidth.Value) { _startPosX = 0; }
if (_startPosY + _drawningAirbusHeight > _pictureHeight.Value) { _startPosY = 0; }
} }
/// <summary> /// <summary>

View File

@ -37,24 +37,6 @@ namespace ProjectAirbus
pictureBoxAirbus.Image = bmp; pictureBoxAirbus.Image = bmp;
} }
/// <summary>
/// проверка, что объект влезает в размеры формы, если нет - форма увеличивается ровно так, чтобы вместить
/// </summary>
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);
}
}
/// <summary> /// <summary>
/// Обработка кнопки "создать" /// Обработка кнопки "создать"
/// </summary> /// </summary>
@ -70,7 +52,6 @@ namespace ProjectAirbus
Convert.ToBoolean(random.Next(0, 2)), Convert.ToBoolean(random.Next(0, 2))); Convert.ToBoolean(random.Next(0, 2)), Convert.ToBoolean(random.Next(0, 2)));
_drawningAirbus.SetPictureSize(pictureBoxAirbus.Width, pictureBoxAirbus.Height); _drawningAirbus.SetPictureSize(pictureBoxAirbus.Width, pictureBoxAirbus.Height);
FormAirbusSizeChanged();
_drawningAirbus.SetPosition(random.Next(10, 100), random.Next(10, 100)); _drawningAirbus.SetPosition(random.Next(10, 100), random.Next(10, 100));