From 2a0e8067f262c03bdebc7b2e148f7adb90c7b384 Mon Sep 17 00:00:00 2001 From: russell Date: Wed, 11 Oct 2023 21:22:18 +0400 Subject: [PATCH] =?UTF-8?q?=D0=93=D0=BE=D1=82=D0=BE=D0=B2=D0=B0=D1=8F=201?= =?UTF-8?q?=20=D0=BB=D0=B0=D0=B1=D0=BE=D1=80=D0=B0=D1=82=D0=BE=D1=80=D0=BD?= =?UTF-8?q?=D0=B0=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DumpTruck/Direction.cs | 27 +++ DumpTruck/DrawingDumpTruck.cs | 156 ++++++++++++++++++ DumpTruck/DumpTruck.csproj | 26 +++ DumpTruck/DumpTruck.sln | 14 +- DumpTruck/DumpTruck/DumpTruck.csproj | 11 -- DumpTruck/DumpTruck/Form1.Designer.cs | 39 ----- DumpTruck/DumpTruck/Form1.cs | 10 -- DumpTruck/DumpTruck/Program.cs | 17 -- DumpTruck/EntityDumpTruck.cs | 66 ++++++++ DumpTruck/FormDumpTruck.Designer.cs | 134 +++++++++++++++ DumpTruck/FormDumpTruck.cs | 65 ++++++++ DumpTruck/FormDumpTruck.resx | 60 +++++++ DumpTruck/Program.cs | 17 ++ DumpTruck/Properties/Resources.Designer.cs | 103 ++++++++++++ .../Form1.resx => Properties/Resources.resx} | 13 ++ DumpTruck/Resources/down.png | Bin 0 -> 2326 bytes DumpTruck/Resources/left.png | Bin 0 -> 1897 bytes DumpTruck/Resources/right.png | Bin 0 -> 1896 bytes DumpTruck/Resources/up.png | Bin 0 -> 1815 bytes 19 files changed, 674 insertions(+), 84 deletions(-) create mode 100644 DumpTruck/Direction.cs create mode 100644 DumpTruck/DrawingDumpTruck.cs create mode 100644 DumpTruck/DumpTruck.csproj delete mode 100644 DumpTruck/DumpTruck/DumpTruck.csproj delete mode 100644 DumpTruck/DumpTruck/Form1.Designer.cs delete mode 100644 DumpTruck/DumpTruck/Form1.cs delete mode 100644 DumpTruck/DumpTruck/Program.cs create mode 100644 DumpTruck/EntityDumpTruck.cs create mode 100644 DumpTruck/FormDumpTruck.Designer.cs create mode 100644 DumpTruck/FormDumpTruck.cs create mode 100644 DumpTruck/FormDumpTruck.resx create mode 100644 DumpTruck/Program.cs create mode 100644 DumpTruck/Properties/Resources.Designer.cs rename DumpTruck/{DumpTruck/Form1.resx => Properties/Resources.resx} (84%) create mode 100644 DumpTruck/Resources/down.png create mode 100644 DumpTruck/Resources/left.png create mode 100644 DumpTruck/Resources/right.png create mode 100644 DumpTruck/Resources/up.png diff --git a/DumpTruck/Direction.cs b/DumpTruck/Direction.cs new file mode 100644 index 0000000..a576395 --- /dev/null +++ b/DumpTruck/Direction.cs @@ -0,0 +1,27 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace DumpTruck +{ + public enum Direction + { + /// Вверх + /// + Up = 1, + /// + /// Вниз + /// + Down = 2, + /// + /// Влево + /// + Left = 3, + /// + /// Вправо + /// + Right = 4 + } +} diff --git a/DumpTruck/DrawingDumpTruck.cs b/DumpTruck/DrawingDumpTruck.cs new file mode 100644 index 0000000..afc6ef0 --- /dev/null +++ b/DumpTruck/DrawingDumpTruck.cs @@ -0,0 +1,156 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace DumpTruck +{ + public class DrawingDumpTruck + { + /// + /// Класс-сущность + /// + public EntityDumpTruck? EntityDumpTruck { get; private set; } + /// + /// Ширина окна + /// + private int _pictureWidth; + /// + /// Высота окна + /// + private int _pictureHeight; + /// + /// Левая координата прорисовки самосвала + /// + private int _startPosX; + /// + /// Верхняя кооридната прорисовки самосвала + /// + private int _startPosY; + /// + /// Ширина прорисовки самосвала + /// + private readonly int _truckWidth = 160; + /// + /// Высота прорисовки самосвала + /// + private readonly int _truckHeight = 90; + + + /// + /// Инициализация свойств + /// + /// Скорость + /// Вес + /// Основной цвет самосвала + /// Признак наличия тента + /// Признак наличия кузова + /// Цвет кузова + /// Цвет тента + /// Ширина картинки + /// Высота картинки + /// true - объект создан, false - проверка не пройдена, нельзя создать объект в этих размерах + public bool Init(int speed, double weight, Color bodyColor, bool tent, bool dumpBox, Color tentColor, Color dumpBoxColor, int width, int height) + { + _pictureWidth = width; + _pictureHeight = height; + if (_pictureHeight < _truckHeight || _pictureWidth < _truckWidth) return false; + EntityDumpTruck = new EntityDumpTruck(); + EntityDumpTruck.Init(speed, weight, bodyColor, tent, dumpBox, tentColor, dumpBoxColor); + return true; + } + /// + /// Установка позиции + /// + /// Координата X + /// Координата Y + public void SetPosition(int x, int y) + { + if (x < 0 || x + _truckWidth > _pictureWidth) { x = 0; } + if (y < 0 || y + _truckHeight > _pictureHeight) { y = 0; } + _startPosX = x; + _startPosY = y; + } + /// + /// Изменение направления перемещения + /// + /// Направление + public void MoveTransport(Direction direction) + { + if (EntityDumpTruck == null) + { + return; + } + switch (direction) + { + //влево + case Direction.Left: + if (_startPosX - EntityDumpTruck.Step > 0) + { + _startPosX -= (int)EntityDumpTruck.Step; + } + break; + //вверх + case Direction.Up: + if (_startPosY - EntityDumpTruck.Step > 0) + { + _startPosY -= (int)EntityDumpTruck.Step; + } + break; + // вправо + case Direction.Right: + if (_startPosX + _truckWidth + EntityDumpTruck.Step < _pictureWidth) + { + _startPosX += (int)EntityDumpTruck.Step; + } + break; + //вниз + case Direction.Down: + if (_startPosY + _truckHeight + EntityDumpTruck.Step < _pictureHeight) + { + _startPosY += (int)EntityDumpTruck.Step; + } + break; + } + } + + /// + /// Прорисовка объекта + /// + /// + public void DrawTransport(Graphics g) + { + if (EntityDumpTruck == null) + { + return; + } + Brush brush = new SolidBrush(EntityDumpTruck.BodyColor); + g.FillRectangle(brush, _startPosX, _startPosY + 40, 160, 10); + g.FillRectangle(brush, _startPosX + 120, _startPosY, 40, 40); + g.FillEllipse(brush, _startPosX, _startPosY + 50, 40, 40); + g.FillEllipse(brush, _startPosX + 40, _startPosY + 50, 40, 40); + g.FillEllipse(brush, _startPosX + 120, _startPosY + 50, 40, 40); + if (EntityDumpTruck.DumpBox) + { + Brush brDumpBox = new SolidBrush(EntityDumpTruck.DumpBoxColor); + Point point1 = new Point(_startPosX + 20, _startPosY); + Point point2 = new Point(_startPosX + 120, _startPosY); + Point point3 = new Point(_startPosX + 100, _startPosY + 39); + Point point4 = new Point(_startPosX, _startPosY + 39); + Point[] dumpBoxPoints = { point1, point2, point3, point4}; + g.FillPolygon(brDumpBox, dumpBoxPoints); + } + if (EntityDumpTruck.DumpBox && EntityDumpTruck.Tent) + { + Brush brTent = new SolidBrush(EntityDumpTruck.TentColor); + Point point1 = new Point(_startPosX + 15, _startPosY); + Point point2 = new Point(_startPosX + 120, _startPosY); + Point point3 = new Point(_startPosX + 115, _startPosY + 10); + Point point4 = new Point(_startPosX + 10, _startPosY + 10); + Point[] tentPoints = { point1, point2, point3, point4 }; + g.FillPolygon(brTent, tentPoints); + } + } + } +} \ No newline at end of file diff --git a/DumpTruck/DumpTruck.csproj b/DumpTruck/DumpTruck.csproj new file mode 100644 index 0000000..13ee123 --- /dev/null +++ b/DumpTruck/DumpTruck.csproj @@ -0,0 +1,26 @@ + + + + WinExe + net6.0-windows + enable + true + enable + + + + + True + True + Resources.resx + + + + + + ResXFileCodeGenerator + Resources.Designer.cs + + + + \ No newline at end of file diff --git a/DumpTruck/DumpTruck.sln b/DumpTruck/DumpTruck.sln index 6cdb821..194c49e 100644 --- a/DumpTruck/DumpTruck.sln +++ b/DumpTruck/DumpTruck.sln @@ -1,9 +1,9 @@  Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 -VisualStudioVersion = 17.3.32929.385 +VisualStudioVersion = 17.5.33530.505 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DumpTruck", "DumpTruck\DumpTruck.csproj", "{26796F32-D785-418E-9A6B-E3BAC62BAFEA}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DumpTruck", "DumpTruck.csproj", "{6B4E6B76-8A8E-41F4-8152-149554710311}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -11,15 +11,15 @@ Global Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {26796F32-D785-418E-9A6B-E3BAC62BAFEA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {26796F32-D785-418E-9A6B-E3BAC62BAFEA}.Debug|Any CPU.Build.0 = Debug|Any CPU - {26796F32-D785-418E-9A6B-E3BAC62BAFEA}.Release|Any CPU.ActiveCfg = Release|Any CPU - {26796F32-D785-418E-9A6B-E3BAC62BAFEA}.Release|Any CPU.Build.0 = Release|Any CPU + {6B4E6B76-8A8E-41F4-8152-149554710311}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6B4E6B76-8A8E-41F4-8152-149554710311}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6B4E6B76-8A8E-41F4-8152-149554710311}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6B4E6B76-8A8E-41F4-8152-149554710311}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {379CC8BC-ED77-4529-A5E0-2F1171582BE4} + SolutionGuid = {E03F6674-51B1-427F-A0F7-7F63C642A734} EndGlobalSection EndGlobal diff --git a/DumpTruck/DumpTruck/DumpTruck.csproj b/DumpTruck/DumpTruck/DumpTruck.csproj deleted file mode 100644 index b57c89e..0000000 --- a/DumpTruck/DumpTruck/DumpTruck.csproj +++ /dev/null @@ -1,11 +0,0 @@ - - - - WinExe - net6.0-windows - enable - true - enable - - - \ No newline at end of file diff --git a/DumpTruck/DumpTruck/Form1.Designer.cs b/DumpTruck/DumpTruck/Form1.Designer.cs deleted file mode 100644 index 073cfce..0000000 --- a/DumpTruck/DumpTruck/Form1.Designer.cs +++ /dev/null @@ -1,39 +0,0 @@ -namespace DumpTruck -{ - 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 - } -} \ No newline at end of file diff --git a/DumpTruck/DumpTruck/Form1.cs b/DumpTruck/DumpTruck/Form1.cs deleted file mode 100644 index 2326120..0000000 --- a/DumpTruck/DumpTruck/Form1.cs +++ /dev/null @@ -1,10 +0,0 @@ -namespace DumpTruck -{ - public partial class Form1 : Form - { - public Form1() - { - InitializeComponent(); - } - } -} \ No newline at end of file diff --git a/DumpTruck/DumpTruck/Program.cs b/DumpTruck/DumpTruck/Program.cs deleted file mode 100644 index a716913..0000000 --- a/DumpTruck/DumpTruck/Program.cs +++ /dev/null @@ -1,17 +0,0 @@ -namespace DumpTruck -{ - internal static class Program - { - /// - /// The main entry point for the application. - /// - [STAThread] - static void Main() - { - // To customize application configuration such as set high DPI settings or default font, - // see https://aka.ms/applicationconfiguration. - ApplicationConfiguration.Initialize(); - Application.Run(new Form1()); - } - } -} \ No newline at end of file diff --git a/DumpTruck/EntityDumpTruck.cs b/DumpTruck/EntityDumpTruck.cs new file mode 100644 index 0000000..f9b054a --- /dev/null +++ b/DumpTruck/EntityDumpTruck.cs @@ -0,0 +1,66 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Net.NetworkInformation; +using System.Text; +using System.Threading.Tasks; + +namespace DumpTruck +{ + public class EntityDumpTruck + { + /// + /// Скорость + /// + public int Speed { get; private set; } + /// + /// Вес + /// + public double Weight { get; private set; } + /// + /// Основной цвет + /// + public Color BodyColor { get; private set; } + /// + /// Признак (опция) наличия тента + /// + public bool Tent { get; private set; } + /// + /// Признак (опция) наличия кузова + /// + public bool DumpBox { get; private set; } + /// + /// Цвет кузова + /// + public Color DumpBoxColor { get; private set; } + /// + /// Цвет тента + /// + public Color TentColor { get; private set; } + /// + /// Шаг + /// + public double Step => (double)Speed * 100 / Weight; + + /// + /// Инициализация полей объекта-класса самосвала + /// + /// Скорость + /// Вес самосвала + /// Основной цвет самосвала + /// Признак наличия тента + /// Признак наличия кузова + /// Цвет кузова + /// Цвет тента + public void Init(int speed, double weight, Color bodyColor, bool tent, bool dumpBox, Color tentColor, Color dumpBoxColor) + { + Speed = speed; + Weight = weight; + BodyColor = bodyColor; + Tent = tent; + DumpBox = dumpBox; + DumpBoxColor = dumpBoxColor; + TentColor = tentColor; + } + } +} \ No newline at end of file diff --git a/DumpTruck/FormDumpTruck.Designer.cs b/DumpTruck/FormDumpTruck.Designer.cs new file mode 100644 index 0000000..6482021 --- /dev/null +++ b/DumpTruck/FormDumpTruck.Designer.cs @@ -0,0 +1,134 @@ +namespace DumpTruck +{ + partial class FormDumpTruck + { + /// + /// 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() + { + pictureBoxDumpTruck = new PictureBox(); + Create = new Button(); + buttonLeft = new Button(); + buttonUp = new Button(); + buttonRight = new Button(); + buttonDown = new Button(); + ((System.ComponentModel.ISupportInitialize)pictureBoxDumpTruck).BeginInit(); + SuspendLayout(); + // + // pictureBoxDumpTruck + // + pictureBoxDumpTruck.Dock = DockStyle.Fill; + pictureBoxDumpTruck.Location = new Point(0, 0); + pictureBoxDumpTruck.Name = "pictureBoxDumpTruck"; + pictureBoxDumpTruck.Size = new Size(800, 450); + pictureBoxDumpTruck.TabIndex = 0; + pictureBoxDumpTruck.TabStop = false; + // + // Create + // + Create.Anchor = AnchorStyles.Bottom | AnchorStyles.Left; + Create.Location = new Point(12, 415); + Create.Name = "Create"; + Create.Size = new Size(75, 23); + Create.TabIndex = 1; + Create.Text = "Создать"; + Create.UseVisualStyleBackColor = true; + Create.Click += Create_Click; + // + // buttonLeft + // + buttonLeft.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + buttonLeft.BackgroundImage = Properties.Resources.left; + buttonLeft.BackgroundImageLayout = ImageLayout.Zoom; + buttonLeft.Location = new Point(686, 408); + buttonLeft.Name = "buttonLeft"; + buttonLeft.Size = new Size(30, 30); + buttonLeft.TabIndex = 2; + buttonLeft.UseVisualStyleBackColor = true; + buttonLeft.Click += ButtonMove_Click; + // + // buttonUp + // + buttonUp.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + buttonUp.BackgroundImage = Properties.Resources.up; + buttonUp.BackgroundImageLayout = ImageLayout.Zoom; + buttonUp.Location = new Point(722, 372); + buttonUp.Name = "buttonUp"; + buttonUp.Size = new Size(30, 30); + buttonUp.TabIndex = 3; + buttonUp.UseVisualStyleBackColor = true; + buttonUp.Click += ButtonMove_Click; + // + // buttonRight + // + buttonRight.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + buttonRight.BackgroundImage = Properties.Resources.right; + buttonRight.BackgroundImageLayout = ImageLayout.Zoom; + buttonRight.Location = new Point(758, 408); + buttonRight.Name = "buttonRight"; + buttonRight.Size = new Size(30, 30); + buttonRight.TabIndex = 4; + buttonRight.UseVisualStyleBackColor = true; + buttonRight.Click += ButtonMove_Click; + // + // buttonDown + // + buttonDown.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + buttonDown.BackgroundImage = Properties.Resources.down; + buttonDown.BackgroundImageLayout = ImageLayout.Zoom; + buttonDown.Location = new Point(722, 408); + buttonDown.Name = "buttonDown"; + buttonDown.Size = new Size(30, 30); + buttonDown.TabIndex = 5; + buttonDown.UseVisualStyleBackColor = true; + buttonDown.Click += ButtonMove_Click; + // + // FormDumpTruck + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(800, 450); + Controls.Add(buttonDown); + Controls.Add(buttonRight); + Controls.Add(buttonUp); + Controls.Add(buttonLeft); + Controls.Add(Create); + Controls.Add(pictureBoxDumpTruck); + Name = "FormDumpTruck"; + Text = "FormDumpTruck"; + ((System.ComponentModel.ISupportInitialize)pictureBoxDumpTruck).EndInit(); + ResumeLayout(false); + } + + #endregion + + private PictureBox pictureBoxDumpTruck; + private Button Create; + private Button buttonLeft; + private Button buttonUp; + private Button buttonRight; + private Button buttonDown; + } +} \ No newline at end of file diff --git a/DumpTruck/FormDumpTruck.cs b/DumpTruck/FormDumpTruck.cs new file mode 100644 index 0000000..0ee28f0 --- /dev/null +++ b/DumpTruck/FormDumpTruck.cs @@ -0,0 +1,65 @@ +namespace DumpTruck +{ + public partial class FormDumpTruck : Form + { + public FormDumpTruck() + { + InitializeComponent(); + } + + private DrawingDumpTruck? _drawingDumpTruck; + + private void Draw() + { + if (_drawingDumpTruck == null) + { + return; + } + Bitmap bmp = new(pictureBoxDumpTruck.Width, + pictureBoxDumpTruck.Height); + Graphics gr = Graphics.FromImage(bmp); + _drawingDumpTruck.DrawTransport(gr); + pictureBoxDumpTruck.Image = bmp; + } + + + private void Create_Click(object sender, EventArgs e) + { + Random random = new(); + _drawingDumpTruck = new DrawingDumpTruck(); + _drawingDumpTruck.Init(random.Next(100, 300), random.Next(1000, 3000), + 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)), + 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)), + pictureBoxDumpTruck.Width, pictureBoxDumpTruck.Height); + _drawingDumpTruck.SetPosition(random.Next(10, 100), random.Next(10, 100)); + Draw(); + } + + private void ButtonMove_Click(object sender, EventArgs e) + { + if (_drawingDumpTruck == null) + { + return; + } + string name = ((Button)sender)?.Name ?? string.Empty; + switch (name) + { + case "buttonUp": + _drawingDumpTruck.MoveTransport(Direction.Up); + break; + case "buttonDown": + _drawingDumpTruck.MoveTransport(Direction.Down); + break; + case "buttonLeft": + _drawingDumpTruck.MoveTransport(Direction.Left); + break; + case "buttonRight": + _drawingDumpTruck.MoveTransport(Direction.Right); + break; + } + Draw(); + } + } +} \ No newline at end of file diff --git a/DumpTruck/FormDumpTruck.resx b/DumpTruck/FormDumpTruck.resx new file mode 100644 index 0000000..f298a7b --- /dev/null +++ b/DumpTruck/FormDumpTruck.resx @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + \ No newline at end of file diff --git a/DumpTruck/Program.cs b/DumpTruck/Program.cs new file mode 100644 index 0000000..e0b9e16 --- /dev/null +++ b/DumpTruck/Program.cs @@ -0,0 +1,17 @@ +namespace DumpTruck +{ + internal static class Program + { + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main() + { + // To customize application configuration such as set high DPI settings or default font, + // see https://aka.ms/applicationconfiguration. + ApplicationConfiguration.Initialize(); + Application.Run(new FormDumpTruck()); + } + } +} \ No newline at end of file diff --git a/DumpTruck/Properties/Resources.Designer.cs b/DumpTruck/Properties/Resources.Designer.cs new file mode 100644 index 0000000..aac7e60 --- /dev/null +++ b/DumpTruck/Properties/Resources.Designer.cs @@ -0,0 +1,103 @@ +//------------------------------------------------------------------------------ +// +// Этот код создан программой. +// Исполняемая версия:4.0.30319.42000 +// +// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае +// повторной генерации кода. +// +//------------------------------------------------------------------------------ + +namespace DumpTruck.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("DumpTruck.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 down { + get { + object obj = ResourceManager.GetObject("down", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap left { + get { + object obj = ResourceManager.GetObject("left", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap right { + get { + object obj = ResourceManager.GetObject("right", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap up { + get { + object obj = ResourceManager.GetObject("up", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} diff --git a/DumpTruck/DumpTruck/Form1.resx b/DumpTruck/Properties/Resources.resx similarity index 84% rename from DumpTruck/DumpTruck/Form1.resx rename to DumpTruck/Properties/Resources.resx index 1af7de1..53ec0b4 100644 --- a/DumpTruck/DumpTruck/Form1.resx +++ b/DumpTruck/Properties/Resources.resx @@ -117,4 +117,17 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\down.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\left.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\right.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\up.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/DumpTruck/Resources/down.png b/DumpTruck/Resources/down.png new file mode 100644 index 0000000000000000000000000000000000000000..20517336fcf8d966af13c72ab26ac5c4df369d19 GIT binary patch literal 2326 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 literal 0 HcmV?d00001