diff --git a/ProjectLiner/ProjectLiner/DirectionType.cs b/ProjectLiner/ProjectLiner/DirectionType.cs
new file mode 100644
index 0000000..8d54037
--- /dev/null
+++ b/ProjectLiner/ProjectLiner/DirectionType.cs
@@ -0,0 +1,9 @@
+namespace ProjectLiner;
+
+public enum DirectionType
+{
+ Up = 1,
+ Down = 2,
+ Left = 3,
+ Right = 4,
+}
diff --git a/ProjectLiner/ProjectLiner/DrawingLiner.cs b/ProjectLiner/ProjectLiner/DrawingLiner.cs
new file mode 100644
index 0000000..f472d0e
--- /dev/null
+++ b/ProjectLiner/ProjectLiner/DrawingLiner.cs
@@ -0,0 +1,157 @@
+namespace ProjectLiner;
+public class DrawingLiner
+{
+ public LinerEntity? LinerEntity { get; set; }
+
+ private int? _pictureWidth;
+
+ private int? _pictureHeight;
+
+ private int? _startPosX;
+
+ private int? _startPosY;
+
+ private readonly int _drawingLinerWidth = 140;
+
+ private readonly int _drawingLinerHeight = 50;
+ public void Init(
+ int speed, double weight, Color primaryColor, Color secondaryColor,
+ LinerEntityType type, int capacity, int maxPassengers,
+ bool hasExtraDeck, bool hasPool
+ )
+ {
+ LinerEntity = new LinerEntity();
+ LinerEntity.Init(speed, weight, primaryColor, secondaryColor,
+ type, capacity, maxPassengers, hasExtraDeck, hasPool);
+ _pictureWidth = null;
+ _pictureHeight = null;
+ _startPosX = null;
+ _startPosY = null;
+ }
+ public bool SetPictureSize(int width, int height)
+ {
+ if (_drawingLinerWidth <= width && _drawingLinerHeight <= height)
+ {
+ _pictureWidth = width;
+ _pictureHeight = height;
+ return true;
+ } else
+ {
+ return false;
+ }
+ }
+ public void SetPosition(int x, int y)
+ {
+ if (!_pictureHeight.HasValue || !_pictureWidth.HasValue)
+ {
+ return;
+ }
+ if (x < 0)
+ {
+ x = 0;
+ }
+ else if (x > _pictureWidth.Value - _drawingLinerWidth)
+ {
+ x = _pictureWidth.Value - _drawingLinerWidth;
+ }
+ if (y < 0)
+ {
+ y = 0;
+ }
+ else if (y > _pictureHeight.Value - _drawingLinerHeight)
+ {
+ y = _pictureHeight.Value - _drawingLinerHeight;
+ }
+ _startPosX = x;
+ _startPosY = y;
+ }
+ public bool MoveTransport(DirectionType direction)
+ {
+ if (LinerEntity == null ||
+ !_startPosX.HasValue || !_startPosY.HasValue ||
+ !_pictureWidth.HasValue || !_pictureHeight.HasValue)
+ {
+ return false;
+ }
+ switch (direction)
+ {
+ //left
+ case DirectionType.Left:
+ if (_startPosX.Value - LinerEntity.Step > 0)
+ {
+ _startPosX -= (int)LinerEntity.Step;
+ }
+ break;
+ //up
+ case DirectionType.Up:
+ if (_startPosY.Value - LinerEntity.Step > 0)
+ {
+ _startPosY -= (int)LinerEntity.Step;
+ }
+ break;
+ //right
+ case DirectionType.Right:
+ if (_startPosX.Value + LinerEntity.Step <
+ _pictureWidth.Value - _drawingLinerWidth)
+ {
+ _startPosX += (int)LinerEntity.Step;
+ }
+ break;
+ //down
+ case DirectionType.Down:
+ if (_startPosY.Value + LinerEntity.Step <
+ _pictureHeight.Value - _drawingLinerHeight)
+ {
+ _startPosY += (int)LinerEntity.Step;
+ }
+ break;
+ default:
+ return false;
+ }
+ return true;
+ }
+ public void DrawTransport(Graphics g)
+ {
+ if (LinerEntity == null ||
+ !_startPosX.HasValue || !_startPosY.HasValue)
+ return;
+
+ int x = _startPosX.Value;
+ int y = _startPosY.Value;
+
+ Pen borderPen = new(Color.Black);
+ Brush bodyBrush = new SolidBrush(LinerEntity.PrimaryColor); // Hull
+ Brush additionalBrush = new SolidBrush(LinerEntity.SecondaryColor);
+ Brush deckBrush = new SolidBrush(Color.White); // Deck
+ Brush poolBrush = new SolidBrush(Color.Cyan); // Pool
+
+ // body (hull)
+ Point[] hullPoints = {
+ new Point(x + 20, y + 50), // bottom Left
+ new Point(x + 120, y + 50), // bottom right
+ new Point(x + 140, y + 20), // Top left
+ new Point(x , y + 20) // Top right
+ };
+
+ g.FillPolygon(bodyBrush, hullPoints);
+ g.DrawPolygon(borderPen, hullPoints);
+
+ // first deck
+ g.FillRectangle(deckBrush, x + 30, y + 10, 100, 10);
+ g.DrawRectangle(borderPen, x + 30, y + 10, 100, 10);
+
+ if (LinerEntity.HasPool)
+ {
+ // pool on the deck
+ g.FillEllipse(poolBrush, x + 35, y + 5, 30, 10);
+ g.DrawEllipse(borderPen, x + 35, y + 5, 30, 10);
+ }
+
+ if (LinerEntity.HasExtraDeck)
+ {
+ // optional deck
+ g.FillRectangle(additionalBrush, x + 70, y, 50, 10);
+ g.DrawRectangle(borderPen, x + 70, y, 50, 10);
+ }
+ }
+}
diff --git a/ProjectLiner/ProjectLiner/Form1.Designer.cs b/ProjectLiner/ProjectLiner/Form1.Designer.cs
deleted file mode 100644
index 10a56d5..0000000
--- a/ProjectLiner/ProjectLiner/Form1.Designer.cs
+++ /dev/null
@@ -1,39 +0,0 @@
-namespace ProjectLiner
-{
- partial class Form1
- {
- ///
- /// Required designer variable.
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// Clean up any resources being used.
- ///
- /// true if managed resources should be disposed; otherwise, false.
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Windows Form Designer generated code
-
- ///
- /// Required method for Designer support - do not modify
- /// the contents of this method with the code editor.
- ///
- private void InitializeComponent()
- {
- this.components = new System.ComponentModel.Container();
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(800, 450);
- this.Text = "Form1";
- }
-
- #endregion
- }
-}
diff --git a/ProjectLiner/ProjectLiner/Form1.cs b/ProjectLiner/ProjectLiner/Form1.cs
deleted file mode 100644
index baabe7e..0000000
--- a/ProjectLiner/ProjectLiner/Form1.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-namespace ProjectLiner
-{
- public partial class Form1 : Form
- {
- public Form1()
- {
- InitializeComponent();
- }
- }
-}
diff --git a/ProjectLiner/ProjectLiner/FormLiner.Designer.cs b/ProjectLiner/ProjectLiner/FormLiner.Designer.cs
new file mode 100644
index 0000000..c7948ba
--- /dev/null
+++ b/ProjectLiner/ProjectLiner/FormLiner.Designer.cs
@@ -0,0 +1,143 @@
+namespace ProjectLiner
+{
+ partial class FormLiner
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormLiner));
+ pictureBoxLiner = new PictureBox();
+ buttonCreateLiner = new Button();
+ buttonMoveLeft = new Button();
+ buttonMoveUp = new Button();
+ buttonMoveDown = new Button();
+ buttonMoveRight = new Button();
+ ((System.ComponentModel.ISupportInitialize)pictureBoxLiner).BeginInit();
+ SuspendLayout();
+ //
+ // pictureBoxLiner
+ //
+ pictureBoxLiner.Dock = DockStyle.Fill;
+ pictureBoxLiner.Location = new Point(0, 0);
+ pictureBoxLiner.Margin = new Padding(3, 2, 3, 2);
+ pictureBoxLiner.Name = "pictureBoxLiner";
+ pictureBoxLiner.Size = new Size(995, 620);
+ pictureBoxLiner.TabIndex = 0;
+ pictureBoxLiner.TabStop = false;
+ //
+ // buttonCreateLiner
+ //
+ buttonCreateLiner.Anchor = AnchorStyles.Bottom | AnchorStyles.Left;
+ buttonCreateLiner.Location = new Point(10, 589);
+ buttonCreateLiner.Margin = new Padding(3, 2, 3, 2);
+ buttonCreateLiner.Name = "buttonCreateLiner";
+ buttonCreateLiner.Size = new Size(82, 22);
+ buttonCreateLiner.TabIndex = 1;
+ buttonCreateLiner.Text = "Create";
+ buttonCreateLiner.UseVisualStyleBackColor = true;
+ buttonCreateLiner.Click += ButtonCreateLiner_Click;
+ //
+ // buttonMoveLeft
+ //
+ buttonMoveLeft.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
+ buttonMoveLeft.BackgroundImage = Properties.Resources.icons8_arrow_left_60;
+ buttonMoveLeft.BackgroundImageLayout = ImageLayout.Stretch;
+ buttonMoveLeft.Location = new Point(889, 585);
+ buttonMoveLeft.Margin = new Padding(3, 2, 3, 2);
+ buttonMoveLeft.Name = "buttonMoveLeft";
+ buttonMoveLeft.Size = new Size(31, 26);
+ buttonMoveLeft.TabIndex = 2;
+ buttonMoveLeft.UseVisualStyleBackColor = true;
+ buttonMoveLeft.Click += ButtonMove_Click;
+ //
+ // buttonMoveUp
+ //
+ buttonMoveUp.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
+ buttonMoveUp.BackgroundImage = Properties.Resources.icons8_arrow_up_60;
+ buttonMoveUp.BackgroundImageLayout = ImageLayout.Stretch;
+ buttonMoveUp.Location = new Point(925, 554);
+ buttonMoveUp.Margin = new Padding(3, 2, 3, 2);
+ buttonMoveUp.Name = "buttonMoveUp";
+ buttonMoveUp.Size = new Size(31, 26);
+ buttonMoveUp.TabIndex = 3;
+ buttonMoveUp.UseVisualStyleBackColor = true;
+ buttonMoveUp.Click += ButtonMove_Click;
+ //
+ // buttonMoveDown
+ //
+ buttonMoveDown.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
+ buttonMoveDown.BackgroundImage = Properties.Resources.icons8_arrow_down_60;
+ buttonMoveDown.BackgroundImageLayout = ImageLayout.Stretch;
+ buttonMoveDown.Location = new Point(925, 585);
+ buttonMoveDown.Margin = new Padding(3, 2, 3, 2);
+ buttonMoveDown.Name = "buttonMoveDown";
+ buttonMoveDown.Size = new Size(31, 26);
+ buttonMoveDown.TabIndex = 4;
+ buttonMoveDown.UseVisualStyleBackColor = true;
+ buttonMoveDown.Click += ButtonMove_Click;
+ //
+ // buttonMoveRight
+ //
+ buttonMoveRight.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
+ buttonMoveRight.BackgroundImage = (Image)resources.GetObject("buttonMoveRight.BackgroundImage");
+ buttonMoveRight.BackgroundImageLayout = ImageLayout.Stretch;
+ buttonMoveRight.Location = new Point(961, 585);
+ buttonMoveRight.Margin = new Padding(3, 2, 3, 2);
+ buttonMoveRight.Name = "buttonMoveRight";
+ buttonMoveRight.Size = new Size(31, 26);
+ buttonMoveRight.TabIndex = 5;
+ buttonMoveRight.UseVisualStyleBackColor = true;
+ buttonMoveRight.Click += ButtonMove_Click;
+ //
+ // FormLiner
+ //
+ AutoScaleDimensions = new SizeF(7F, 15F);
+ AutoScaleMode = AutoScaleMode.Font;
+ ClientSize = new Size(995, 620);
+ Controls.Add(buttonMoveRight);
+ Controls.Add(buttonMoveDown);
+ Controls.Add(buttonMoveUp);
+ Controls.Add(buttonMoveLeft);
+ Controls.Add(buttonCreateLiner);
+ Controls.Add(pictureBoxLiner);
+ Margin = new Padding(3, 2, 3, 2);
+ Name = "FormLiner";
+ StartPosition = FormStartPosition.CenterScreen;
+ Text = "Liner";
+ ((System.ComponentModel.ISupportInitialize)pictureBoxLiner).EndInit();
+ ResumeLayout(false);
+ }
+
+ #endregion
+
+ private PictureBox pictureBoxLiner;
+ private Button buttonCreateLiner;
+ private Button buttonMoveLeft;
+ private Button buttonMoveUp;
+ private Button buttonMoveDown;
+ private Button buttonMoveRight;
+ }
+}
\ No newline at end of file
diff --git a/ProjectLiner/ProjectLiner/FormLiner.cs b/ProjectLiner/ProjectLiner/FormLiner.cs
new file mode 100644
index 0000000..9b438a5
--- /dev/null
+++ b/ProjectLiner/ProjectLiner/FormLiner.cs
@@ -0,0 +1,69 @@
+namespace ProjectLiner
+{
+ public partial class FormLiner : Form
+ {
+ public DrawingLiner? _drawingLiner;
+ public FormLiner()
+ {
+ InitializeComponent();
+ }
+
+ private void DrawTransoprt()
+ {
+ if (_drawingLiner == null)
+ {
+ return;
+ }
+ Bitmap bitmap = new(pictureBoxLiner.Width, pictureBoxLiner.Height);
+ Graphics graphics = Graphics.FromImage(bitmap);
+ _drawingLiner?.DrawTransport(graphics);
+ pictureBoxLiner.Image = bitmap;
+ }
+
+ private void ButtonCreateLiner_Click(object sender, EventArgs e)
+ {
+ Random random = new();
+ _drawingLiner = new DrawingLiner();
+ _drawingLiner.Init(random.Next(100, 300), random.Next(1000, 3000),
+ Color.FromArgb(random.Next(0, 255), random.Next(0, 255), random.Next(0, 255)),
+ Color.FromArgb(random.Next(0, 255), random.Next(0, 255), random.Next(0, 255)),
+ LinerEntityType.Cargo, random.Next(1000, 10000), random.Next(10, 100),
+ random.Next(0, 2) == 1, random.Next(0, 2) == 1);
+ _drawingLiner.SetPictureSize(pictureBoxLiner.Width, pictureBoxLiner.Height);
+ _drawingLiner.SetPosition(random.Next(0, pictureBoxLiner.Width), random.Next(0, pictureBoxLiner.Height));
+
+ DrawTransoprt();
+ }
+
+ private void ButtonMove_Click(object sender, EventArgs e)
+ {
+ if (_drawingLiner == null)
+ {
+ return;
+ }
+
+ string name = ((Button)sender)?.Name ?? string.Empty;
+ bool result = false;
+ switch (name)
+ {
+ case "buttonMoveUp":
+ result = _drawingLiner.MoveTransport(DirectionType.Up);
+ break;
+ case "buttonMoveDown":
+ result = _drawingLiner.MoveTransport(DirectionType.Down);
+ break;
+ case "buttonMoveLeft":
+ result = _drawingLiner.MoveTransport(DirectionType.Left);
+ break;
+ case "buttonMoveRight":
+ result = _drawingLiner.MoveTransport(DirectionType.Right);
+ break;
+ }
+
+ if (result)
+ {
+ DrawTransoprt();
+ }
+ }
+ }
+}
diff --git a/ProjectLiner/ProjectLiner/FormLiner.resx b/ProjectLiner/ProjectLiner/FormLiner.resx
new file mode 100644
index 0000000..f1f228d
--- /dev/null
+++ b/ProjectLiner/ProjectLiner/FormLiner.resx
@@ -0,0 +1,132 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAL
+ DAAACwwBP0AiyAAAARZJREFUaEPtmTsKwlAQRbMBcQNi69IEG7VS0A1Z6M78V9roHUgghJuvIJnJPXCa
+ wAwc0ryXJEIIIYQQQggRgVHqIFjAd+raHkTnCj85tzA0+djMPQwLCzbDRrPYzJDRLDRvuGgWWTRUNAtk
+ holmcWWGiGZhVf4UPYVH+IRseV/tdDix2AtkCz3YOtreLFvkyVbRD8iWeLNxNBv26grWwga9+oK192k2
+ 6NXBBS9hLXfIhr25gY04QbbAk41jjRk8Q7bIg61iMybwAG+QLe2rnWL7Aguqcgddw6LKdB9rsDBmiFiD
+ xRUNE2uwwLyhYg0WmRku1mChZshYY1CxRvEzk+tDRRPmcFC/S41xqhBCCCGEEEL8kyT5Avbp6yDpsmlv
+ AAAAAElFTkSuQmCC
+
+
+
\ No newline at end of file
diff --git a/ProjectLiner/ProjectLiner/LinerEntity.cs b/ProjectLiner/ProjectLiner/LinerEntity.cs
new file mode 100644
index 0000000..e7a740a
--- /dev/null
+++ b/ProjectLiner/ProjectLiner/LinerEntity.cs
@@ -0,0 +1,39 @@
+namespace ProjectLiner;
+public enum LinerEntityType
+{
+ Passenger,
+ Cargo,
+ Military,
+ Mixed
+}
+
+public class LinerEntity
+{
+ public int Speed { get; private set; }
+ public double Weight { get; private set; }
+ public Color PrimaryColor { get; private set; }
+ public Color SecondaryColor { get; private set; }
+ public LinerEntityType Type { get; private set; }
+ public int Capacity { get; private set; }
+ public int MaxPassengers { get; private set; }
+ public bool HasExtraDeck { get; private set; }
+ public bool HasPool { get; private set; }
+ public double Step => Speed / (Weight / 100);
+
+ public void Init(
+ int speed, double weight, Color primaryColor, Color secondaryColor,
+ LinerEntityType type, int capacity, int maxPassengers,
+ bool hasExtraDeck, bool hasPool
+ )
+ {
+ Speed = speed;
+ Weight = weight;
+ PrimaryColor = primaryColor;
+ SecondaryColor = secondaryColor;
+ Type = type;
+ Capacity = capacity;
+ MaxPassengers = maxPassengers;
+ HasExtraDeck = hasExtraDeck;
+ HasPool = hasPool;
+ }
+}
diff --git a/ProjectLiner/ProjectLiner/Program.cs b/ProjectLiner/ProjectLiner/Program.cs
index 6a14f7d..b3dc92e 100644
--- a/ProjectLiner/ProjectLiner/Program.cs
+++ b/ProjectLiner/ProjectLiner/Program.cs
@@ -11,7 +11,7 @@ namespace ProjectLiner
// To customize application configuration such as set high DPI settings or default font,
// see https://aka.ms/applicationconfiguration.
ApplicationConfiguration.Initialize();
- Application.Run(new Form1());
+ Application.Run(new FormLiner());
}
}
}
\ No newline at end of file
diff --git a/ProjectLiner/ProjectLiner/ProjectLiner.csproj b/ProjectLiner/ProjectLiner/ProjectLiner.csproj
index 663fdb8..af03d74 100644
--- a/ProjectLiner/ProjectLiner/ProjectLiner.csproj
+++ b/ProjectLiner/ProjectLiner/ProjectLiner.csproj
@@ -8,4 +8,19 @@
enable
+
+
+ True
+ True
+ Resources.resx
+
+
+
+
+
+ ResXFileCodeGenerator
+ Resources.Designer.cs
+
+
+
\ No newline at end of file
diff --git a/ProjectLiner/ProjectLiner/Properties/Resources.Designer.cs b/ProjectLiner/ProjectLiner/Properties/Resources.Designer.cs
new file mode 100644
index 0000000..fb9eb87
--- /dev/null
+++ b/ProjectLiner/ProjectLiner/Properties/Resources.Designer.cs
@@ -0,0 +1,103 @@
+//------------------------------------------------------------------------------
+//
+// Этот код создан программой.
+// Исполняемая версия:4.0.30319.42000
+//
+// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
+// повторной генерации кода.
+//
+//------------------------------------------------------------------------------
+
+namespace ProjectLiner.Properties {
+ using System;
+
+
+ ///
+ /// Класс ресурса со строгой типизацией для поиска локализованных строк и т.д.
+ ///
+ // Этот класс создан автоматически классом StronglyTypedResourceBuilder
+ // с помощью такого средства, как ResGen или Visual Studio.
+ // Чтобы добавить или удалить член, измените файл .ResX и снова запустите ResGen
+ // с параметром /str или перестройте свой проект VS.
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ internal class Resources {
+
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal Resources() {
+ }
+
+ ///
+ /// Возвращает кэшированный экземпляр ResourceManager, использованный этим классом.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Resources.ResourceManager ResourceManager {
+ get {
+ if (object.ReferenceEquals(resourceMan, null)) {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ProjectLiner.Properties.Resources", typeof(Resources).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ ///
+ /// Перезаписывает свойство CurrentUICulture текущего потока для всех
+ /// обращений к ресурсу с помощью этого класса ресурса со строгой типизацией.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Globalization.CultureInfo Culture {
+ get {
+ return resourceCulture;
+ }
+ set {
+ resourceCulture = value;
+ }
+ }
+
+ ///
+ /// Поиск локализованного ресурса типа System.Drawing.Bitmap.
+ ///
+ internal static System.Drawing.Bitmap icons8_arrow_down_60 {
+ get {
+ object obj = ResourceManager.GetObject("icons8-arrow-down-60", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// Поиск локализованного ресурса типа System.Drawing.Bitmap.
+ ///
+ internal static System.Drawing.Bitmap icons8_arrow_left_60 {
+ get {
+ object obj = ResourceManager.GetObject("icons8-arrow-left-60", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// Поиск локализованного ресурса типа System.Drawing.Bitmap.
+ ///
+ internal static System.Drawing.Bitmap icons8_arrow_right_60 {
+ get {
+ object obj = ResourceManager.GetObject("icons8-arrow-right-60", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// Поиск локализованного ресурса типа System.Drawing.Bitmap.
+ ///
+ internal static System.Drawing.Bitmap icons8_arrow_up_60 {
+ get {
+ object obj = ResourceManager.GetObject("icons8-arrow-up-60", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+ }
+}
diff --git a/ProjectLiner/ProjectLiner/Form1.resx b/ProjectLiner/ProjectLiner/Properties/Resources.resx
similarity index 82%
rename from ProjectLiner/ProjectLiner/Form1.resx
rename to ProjectLiner/ProjectLiner/Properties/Resources.resx
index 1af7de1..becc2c8 100644
--- a/ProjectLiner/ProjectLiner/Form1.resx
+++ b/ProjectLiner/ProjectLiner/Properties/Resources.resx
@@ -117,4 +117,17 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ ..\Resources\icons8-arrow-down-60.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\icons8-arrow-up-60.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\icons8-arrow-right-60.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\icons8-arrow-left-60.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
\ No newline at end of file
diff --git a/ProjectLiner/ProjectLiner/Resources/icons8-arrow-down-60.png b/ProjectLiner/ProjectLiner/Resources/icons8-arrow-down-60.png
new file mode 100644
index 0000000..0382f01
Binary files /dev/null and b/ProjectLiner/ProjectLiner/Resources/icons8-arrow-down-60.png differ
diff --git a/ProjectLiner/ProjectLiner/Resources/icons8-arrow-left-60.png b/ProjectLiner/ProjectLiner/Resources/icons8-arrow-left-60.png
new file mode 100644
index 0000000..aa76943
Binary files /dev/null and b/ProjectLiner/ProjectLiner/Resources/icons8-arrow-left-60.png differ
diff --git a/ProjectLiner/ProjectLiner/Resources/icons8-arrow-right-60.png b/ProjectLiner/ProjectLiner/Resources/icons8-arrow-right-60.png
new file mode 100644
index 0000000..6aabd5d
Binary files /dev/null and b/ProjectLiner/ProjectLiner/Resources/icons8-arrow-right-60.png differ
diff --git a/ProjectLiner/ProjectLiner/Resources/icons8-arrow-up-60.png b/ProjectLiner/ProjectLiner/Resources/icons8-arrow-up-60.png
new file mode 100644
index 0000000..bc59782
Binary files /dev/null and b/ProjectLiner/ProjectLiner/Resources/icons8-arrow-up-60.png differ