diff --git a/LocomativeProject/LocomativeProject/DirectionType.cs b/LocomativeProject/LocomativeProject/DirectionType.cs new file mode 100644 index 0000000..6d6cebd --- /dev/null +++ b/LocomativeProject/LocomativeProject/DirectionType.cs @@ -0,0 +1,24 @@ +namespace LocomotiveProject; +/// +/// Направление перемещения +/// +public enum DirectionType +{ + /// + /// Вверх + /// + Up = 1, + /// + /// Вниз + /// + Down = 2, + /// + /// Влево + /// + Left = 3, + /// + /// Вправо + /// + Right = 4 +} + diff --git a/LocomativeProject/LocomativeProject/DrawningLocomotive.cs b/LocomativeProject/LocomativeProject/DrawningLocomotive.cs new file mode 100644 index 0000000..4ed712e --- /dev/null +++ b/LocomativeProject/LocomativeProject/DrawningLocomotive.cs @@ -0,0 +1,259 @@ +namespace LocomotiveProject +{ + public class DrawningLocomotive + { + /// + /// Класс-сущность + /// + public EntityLocomotive? EntityLocomotive { get; private set; } + + /// + /// Ширина окна + /// + private int? _pictureWidth; + + /// + /// Высота окна + /// + private int? _pictureHeight; + + /// + /// Левая координата прорисовки тепловоза + /// + private int? _startPosX; + + /// + /// Верхняя кооридната прорисовки тепловоза + /// + private int? _startPosY; + + /// + /// Ширина прорисовки тепловоза + /// + private readonly int _drawningLocomotiveWidth = 120; + + /// + /// Высота прорисовки тепловоза + /// + private readonly int _drawningLocomotiveHeight = 60; + + /// + /// Инициализация свойств + /// + /// Скорость + /// Вес + /// Основной цвет + /// Дополнительный цвет + /// Признак наличия трубы + /// Признак наличия отсека для топлива + /// Признак количества колес + public void Init(int speed, double weight, Color bodyColor, Color + additionalColor, bool exehaustPipe, bool fuelCompartment, int wheelCount) + { + EntityLocomotive = new EntityLocomotive(); + EntityLocomotive.Init(speed, weight, bodyColor, additionalColor, + exehaustPipe, fuelCompartment, wheelCount); + _pictureWidth = null; + _pictureHeight = null; + _startPosX = null; + _startPosY = null; + } + /// + /// Установка границ поля + /// + /// Ширина поля + /// Высота поля + /// true - границы заданы, false - проверка не пройдена, нельзя + ///разместить объект в этих размерах + public bool SetPictureSize(int width, int height) + { + if (width > _drawningLocomotiveWidth || height > _drawningLocomotiveHeight) // если ширина и высота окна больше чем объект + { + _pictureWidth = width; + _pictureHeight = height; + if (_startPosX + _drawningLocomotiveWidth > width || _startPosX < 0) // если координаты выходят за пределы, корректируем + { + _startPosX = 0; + } + if (_startPosY + _drawningLocomotiveHeight > height || _startPosY < 0) + { + _startPosY = 0; + } + return true; + } + return false; + } + /// + /// Установка позиции + /// + /// Координата X + /// Координата Y + public void SetPosition(int x, int y) + { + if (!_pictureHeight.HasValue || !_pictureWidth.HasValue) + { + return; + } + + // если все нормально + if (x > 0 || x + _drawningLocomotiveWidth < _pictureWidth) + { + _startPosX = x; + } + if (y > 0 || y + _drawningLocomotiveHeight < _pictureHeight) + { + _startPosY = y; + } + // если не лезет, но мог бы влезть + if (x < 0 || x + _drawningLocomotiveWidth > _pictureWidth) + { + _startPosX = 0; + } + if (y < 0 || y + _drawningLocomotiveHeight > _pictureHeight) + { + _startPosY = 0; + } + } + + /// + /// Изменение направления перемещения + /// + /// Направление + /// true - перемещене выполнено, false - перемещение + /// невозможно + public bool MoveTransport(DirectionType direction) + { + if (EntityLocomotive == null || !_startPosX.HasValue || + !_startPosY.HasValue) + { + return false; + } + switch (direction) + { + //влево + case DirectionType.Left: + if (_startPosX.Value - EntityLocomotive.Step > 0) + { + _startPosX -= (int)EntityLocomotive.Step; + } + return true; + //вверх + case DirectionType.Up: + if (_startPosY.Value - EntityLocomotive.Step > 0) // 10 – высота трубы + { + _startPosY -= (int)EntityLocomotive.Step; + } + return true; + // вправо + case DirectionType.Right: + if (_startPosX.Value + _drawningLocomotiveWidth + EntityLocomotive.Step < _pictureWidth) + { + _startPosX += (int)EntityLocomotive.Step; + } + return true; + //вниз + case DirectionType.Down: + if (_startPosY.Value + _drawningLocomotiveHeight + EntityLocomotive.Step < _pictureHeight) + { + _startPosY += (int)EntityLocomotive.Step; + } + return true; + default: + return false; + } + } + + /// + /// ОТрисовка полигона + /// + /// Graphics + private void DrawPolygon(Graphics g, Pen pen, Brush brush, int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4) + { + Point point1 = new Point(x1, y1); + Point point2 = new Point(x2, y2); + Point point3 = new Point(x3, y3); + Point point4 = new Point(x4, y4); + Point[] PolygponPoints = + { + point1, + point2, + point3, + point4 + }; + g.FillPolygon(brush, PolygponPoints); + g.DrawPolygon(pen, PolygponPoints); + + } + + /// + /// Прорисовка объекта + /// + /// + public void DrawTransport(Graphics g) + { + if (EntityLocomotive == null || !_startPosX.HasValue || !_startPosY.HasValue) + { + return; + } + Pen pen = new(Color.Black); + Brush additionalBrush = new SolidBrush(EntityLocomotive.AdditionalColor); + Brush bodyBrush = new SolidBrush(EntityLocomotive.BodyColor); + Brush blackBrush = new SolidBrush(Color.Black); + Brush whiteBrush = new SolidBrush(Color.White); + //границы тепловоза + DrawPolygon(g, pen, bodyBrush, + _startPosX.Value + 5, _startPosY.Value + 10, + _startPosX.Value + 105, _startPosY.Value + 10, + _startPosX.Value + 115, _startPosY.Value + 20 + 10, + _startPosX.Value + 5, _startPosY.Value + 20 + 10 + ); + g.FillRectangle(additionalBrush, _startPosX.Value + 5, _startPosY.Value + +10 + 20, 110, 20); + g.DrawRectangle(pen, _startPosX.Value + 5, _startPosY.Value + 20 + 10, 110, 20); + g.FillRectangle(blackBrush, _startPosX.Value, _startPosY.Value + 5 + 10, 5, 30); + //шасси + DrawPolygon(g, pen, blackBrush, + _startPosX.Value, _startPosY.Value + 45 + 10, + _startPosX.Value + 10, _startPosY.Value + 40 + 10, + _startPosX.Value + 50, _startPosY.Value + 40 + 10, + _startPosX.Value + 50, _startPosY.Value + 45 + 10 + ); + DrawPolygon(g, pen, blackBrush, + _startPosX.Value + 70, _startPosY.Value + 40 + 10, + _startPosX.Value + 110, _startPosY.Value + 40 + 10, + _startPosX.Value + 120, _startPosY.Value + 45 + 10, + _startPosX.Value + 70, _startPosY.Value + 45 + 10 + ); + //колеса + g.DrawEllipse(pen, _startPosX.Value + 15, _startPosY.Value + 40 + 10, 10, 10); + g.FillEllipse(whiteBrush, _startPosX.Value + 15, _startPosY.Value + 40 + 10, 10, 10); + g.DrawEllipse(pen, _startPosX.Value + 30, _startPosY.Value + 40 + 10, 10, 10); + g.FillEllipse(whiteBrush, _startPosX.Value + 30, _startPosY.Value + 40 + 10, 10, 10); + g.DrawEllipse(pen, _startPosX.Value + 80, _startPosY.Value + 40 + 10, 10, 10); + g.FillEllipse(whiteBrush, _startPosX.Value + 80, _startPosY.Value + 40 + 10, 10, 10); + g.DrawEllipse(pen, _startPosX.Value + 95, _startPosY.Value + 40 + 10, 10, 10); + g.FillEllipse(whiteBrush, _startPosX.Value + 95, _startPosY.Value + 40 + 10, 10, 10); + //дверь + g.FillRectangle(bodyBrush, _startPosX.Value + 50, _startPosY.Value + 10 + 10, 10, 20); + g.DrawRectangle(pen, _startPosX.Value + 50, _startPosY.Value + 10 + 10, 10, 20); + //окна + pen = new(Color.Blue); + g.DrawRectangle(pen, _startPosX.Value + 85, _startPosY.Value + 5 + 10, 10, 10); + g.DrawRectangle(pen, _startPosX.Value + 70, _startPosY.Value + 5 + 10, 10, 10); + g.DrawRectangle(pen, _startPosX.Value + 10, _startPosY.Value + 5 + 10, 10, 10); + //труба + if (EntityLocomotive.ExehaustPipe) + { + Brush greyBrush = new SolidBrush(Color.Gray); + g.FillRectangle(greyBrush, _startPosX.Value + 80, _startPosY.Value, 5, 10); + g.DrawRectangle(pen, _startPosX.Value + 80, _startPosY.Value, 5, 10); + } + // отсек для топлива + if (EntityLocomotive.FuelCompartment) + { + g.FillRectangle(bodyBrush, _startPosX.Value + 25, _startPosY.Value + 10 + 10, 10, 20); + g.DrawRectangle(pen, _startPosX.Value + 25, _startPosY.Value + 10 + 10, 10, 20); + } + } + + } +} diff --git a/LocomativeProject/LocomativeProject/EntityLocomotive.cs b/LocomativeProject/LocomativeProject/EntityLocomotive.cs new file mode 100644 index 0000000..723e60c --- /dev/null +++ b/LocomativeProject/LocomativeProject/EntityLocomotive.cs @@ -0,0 +1,60 @@ +namespace LocomotiveProject +{ + public class EntityLocomotive + { + /// + /// Скорость + /// + public int Speed { get; private set; } + /// + /// Вес + /// + public double Weight { get; private set; } + /// + /// Основной цвет + /// + public Color BodyColor { get; private set; } + /// + /// Дополнительный цвет (для опциональных элементов) + /// + public Color AdditionalColor { get; private set; } + /// + /// Признак (опция) наличие трубы + /// + public bool ExehaustPipe { get; private set; } + /// + /// Признак (опция) наличие топливного отсека + /// + public bool FuelCompartment { get; private set; } + /// + /// Признак количество колес + /// + public int WheelCount { get; private set; } + /// + /// Шаг перемещения тепловоза + /// + public double Step => Speed * 100 / Weight; + /// + /// Инициализация полей объекта-класса тепловоз + /// + /// Скорость + /// Вес тепловоза + /// Основной цвет + /// Дополнительный цвет + /// Признак наличия трубы + /// Признак наличия топливного отсека + /// Признак количества колес + public void Init(int speed, double weight, Color bodyColor, Color + additionalColor, bool exehaustPipe, bool fuelCompartment, int wheelCount) + { + Speed = speed; + Weight = weight; + BodyColor = bodyColor; + AdditionalColor = additionalColor; + ExehaustPipe = exehaustPipe; + FuelCompartment = fuelCompartment; + WheelCount = wheelCount; + } + + } +} diff --git a/LocomativeProject/LocomativeProject/Form1.Designer.cs b/LocomativeProject/LocomativeProject/Form1.Designer.cs deleted file mode 100644 index 30fbefd..0000000 --- a/LocomativeProject/LocomativeProject/Form1.Designer.cs +++ /dev/null @@ -1,39 +0,0 @@ -namespace LocomativeProject -{ - 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/LocomativeProject/LocomativeProject/Form1.cs b/LocomativeProject/LocomativeProject/Form1.cs deleted file mode 100644 index a1a4021..0000000 --- a/LocomativeProject/LocomativeProject/Form1.cs +++ /dev/null @@ -1,10 +0,0 @@ -namespace LocomativeProject -{ - public partial class Form1 : Form - { - public Form1() - { - InitializeComponent(); - } - } -} \ No newline at end of file diff --git a/LocomativeProject/LocomativeProject/LocomativeProject.csproj b/LocomativeProject/LocomativeProject/LocomativeProject.csproj index b57c89e..13ee123 100644 --- a/LocomativeProject/LocomativeProject/LocomativeProject.csproj +++ b/LocomativeProject/LocomativeProject/LocomativeProject.csproj @@ -8,4 +8,19 @@ enable + + + True + True + Resources.resx + + + + + + ResXFileCodeGenerator + Resources.Designer.cs + + + \ No newline at end of file diff --git a/LocomativeProject/LocomativeProject/LocomotiveProject.Designer.cs b/LocomativeProject/LocomativeProject/LocomotiveProject.Designer.cs new file mode 100644 index 0000000..3898d85 --- /dev/null +++ b/LocomativeProject/LocomativeProject/LocomotiveProject.Designer.cs @@ -0,0 +1,148 @@ +namespace LocomativeProject +{ + partial class LocomotiveProject + { + /// + /// 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(LocomotiveProject)); + pictureBox1 = new PictureBox(); + pictureBoxLocomotive = new PictureBox(); + create = new Button(); + buttonUp = new Button(); + buttonDown = new Button(); + buttonLeft = new Button(); + buttonRight = new Button(); + ((System.ComponentModel.ISupportInitialize)pictureBox1).BeginInit(); + ((System.ComponentModel.ISupportInitialize)pictureBoxLocomotive).BeginInit(); + SuspendLayout(); + // + // pictureBox1 + // + pictureBox1.Location = new Point(0, 0); + pictureBox1.Name = "pictureBox1"; + pictureBox1.Size = new Size(100, 50); + pictureBox1.TabIndex = 0; + pictureBox1.TabStop = false; + // + // pictureBoxLocomotive + // + pictureBoxLocomotive.Dock = DockStyle.Fill; + pictureBoxLocomotive.Location = new Point(0, 0); + pictureBoxLocomotive.Name = "pictureBoxLocomotive"; + pictureBoxLocomotive.Size = new Size(800, 450); + pictureBoxLocomotive.TabIndex = 1; + pictureBoxLocomotive.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 = 2; + create.Text = "создать"; + create.UseVisualStyleBackColor = true; + create.Click += create_Click; + // + // buttonUp + // + buttonUp.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + buttonUp.BackgroundImage = (Image)resources.GetObject("buttonUp.BackgroundImage"); + buttonUp.BackgroundImageLayout = ImageLayout.Stretch; + buttonUp.Location = new Point(691, 362); + buttonUp.Name = "buttonUp"; + buttonUp.Size = new Size(35, 35); + buttonUp.TabIndex = 3; + buttonUp.UseVisualStyleBackColor = true; + buttonUp.Click += ButtonMove_Click; + // + // buttonDown + // + buttonDown.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + buttonDown.BackgroundImage = (Image)resources.GetObject("buttonDown.BackgroundImage"); + buttonDown.BackgroundImageLayout = ImageLayout.Stretch; + buttonDown.Location = new Point(691, 403); + buttonDown.Name = "buttonDown"; + buttonDown.Size = new Size(35, 35); + buttonDown.TabIndex = 4; + buttonDown.UseVisualStyleBackColor = true; + buttonDown.Click += ButtonMove_Click; + // + // buttonLeft + // + buttonLeft.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + buttonLeft.BackgroundImage = (Image)resources.GetObject("buttonLeft.BackgroundImage"); + buttonLeft.BackgroundImageLayout = ImageLayout.Stretch; + buttonLeft.Location = new Point(650, 403); + buttonLeft.Name = "buttonLeft"; + buttonLeft.Size = new Size(35, 35); + buttonLeft.TabIndex = 5; + buttonLeft.UseVisualStyleBackColor = true; + buttonLeft.Click += ButtonMove_Click; + // + // buttonRight + // + buttonRight.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + buttonRight.BackgroundImage = (Image)resources.GetObject("buttonRight.BackgroundImage"); + buttonRight.BackgroundImageLayout = ImageLayout.Stretch; + buttonRight.Location = new Point(732, 403); + buttonRight.Name = "buttonRight"; + buttonRight.Size = new Size(35, 35); + buttonRight.TabIndex = 6; + buttonRight.UseVisualStyleBackColor = true; + buttonRight.Click += ButtonMove_Click; + // + // LocomotiveProject + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(800, 450); + Controls.Add(buttonRight); + Controls.Add(buttonLeft); + Controls.Add(buttonDown); + Controls.Add(buttonUp); + Controls.Add(create); + Controls.Add(pictureBoxLocomotive); + Controls.Add(pictureBox1); + Name = "LocomotiveProject"; + Text = "Тепловоз"; + ((System.ComponentModel.ISupportInitialize)pictureBox1).EndInit(); + ((System.ComponentModel.ISupportInitialize)pictureBoxLocomotive).EndInit(); + ResumeLayout(false); + } + + #endregion + + private PictureBox pictureBox1; + private PictureBox pictureBoxLocomotive; + private Button create; + private Button buttonUp; + private Button buttonDown; + private Button buttonLeft; + private Button buttonRight; + } +} \ No newline at end of file diff --git a/LocomativeProject/LocomativeProject/LocomotiveProject.cs b/LocomativeProject/LocomativeProject/LocomotiveProject.cs new file mode 100644 index 0000000..12b9e36 --- /dev/null +++ b/LocomativeProject/LocomativeProject/LocomotiveProject.cs @@ -0,0 +1,89 @@ +using LocomotiveProject; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace LocomativeProject +{ + public partial class LocomotiveProject : Form + { + private DrawningLocomotive? _drawningLocomotive; + + public LocomotiveProject() + { + InitializeComponent(); + } + + private void Draw() + { + if (_drawningLocomotive == null) + { + return; + } + Bitmap bmp = new(pictureBoxLocomotive.Width, pictureBoxLocomotive.Height); + Graphics gr = Graphics.FromImage(bmp); + _drawningLocomotive.DrawTransport(gr); + pictureBoxLocomotive.Image = bmp; + } + + /// + /// Обработка нажатия кнопки "Создать" + /// + /// + /// + private void create_Click(object sender, EventArgs e) + { + Random random = new(); + _drawningLocomotive = new DrawningLocomotive(); + _drawningLocomotive.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)), + random.Next(2, 6) + ); + _drawningLocomotive.SetPictureSize(pictureBoxLocomotive.Width, pictureBoxLocomotive.Height); + _drawningLocomotive.SetPosition(random.Next(10, 100), random.Next(10, 100)); + Draw(); + } + + private void ButtonMove_Click(object sender, EventArgs e) + { + if (_drawningLocomotive == null) + { + return; + } + string name = ((Button)sender)?.Name ?? string.Empty; + bool result = false; + switch (name) + { + case "buttonUp": + result = _drawningLocomotive.MoveTransport(DirectionType.Up); + break; + case "buttonDown": + result = _drawningLocomotive.MoveTransport(DirectionType.Down); + break; + case "buttonLeft": + result = _drawningLocomotive.MoveTransport(DirectionType.Left); + break; + case "buttonRight": + result = _drawningLocomotive.MoveTransport(DirectionType.Right); + break; + } + if (result) + { + Draw(); + } + } + + } +} diff --git a/LocomativeProject/LocomativeProject/LocomotiveProject.resx b/LocomativeProject/LocomativeProject/LocomotiveProject.resx new file mode 100644 index 0000000..e4ae198 --- /dev/null +++ b/LocomativeProject/LocomativeProject/LocomotiveProject.resx @@ -0,0 +1,649 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + 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 + AABJRU5ErkJggg== + + + + + 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 + AAAASUVORK5CYII= + + + \ No newline at end of file diff --git a/LocomativeProject/LocomativeProject/Program.cs b/LocomativeProject/LocomativeProject/Program.cs index 8c3f9ee..a383f1c 100644 --- a/LocomativeProject/LocomativeProject/Program.cs +++ b/LocomativeProject/LocomativeProject/Program.cs @@ -11,7 +11,7 @@ namespace LocomativeProject // 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 LocomotiveProject()); } } } \ No newline at end of file diff --git a/LocomativeProject/LocomativeProject/Properties/Resources.Designer.cs b/LocomativeProject/LocomativeProject/Properties/Resources.Designer.cs new file mode 100644 index 0000000..3a133ad --- /dev/null +++ b/LocomativeProject/LocomativeProject/Properties/Resources.Designer.cs @@ -0,0 +1,73 @@ +//------------------------------------------------------------------------------ +// +// Этот код создан программой. +// Исполняемая версия:4.0.30319.42000 +// +// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае +// повторной генерации кода. +// +//------------------------------------------------------------------------------ + +namespace LocomativeProject.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("LocomativeProject.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 up_arrow { + get { + object obj = ResourceManager.GetObject("up-arrow", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} diff --git a/LocomativeProject/LocomativeProject/Form1.resx b/LocomativeProject/LocomativeProject/Properties/Resources.resx similarity index 93% rename from LocomativeProject/LocomativeProject/Form1.resx rename to LocomativeProject/LocomativeProject/Properties/Resources.resx index 1af7de1..91421ee 100644 --- a/LocomativeProject/LocomativeProject/Form1.resx +++ b/LocomativeProject/LocomativeProject/Properties/Resources.resx @@ -117,4 +117,8 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\up-arrow.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/LocomativeProject/LocomativeProject/Resources/up-arrow.png b/LocomativeProject/LocomativeProject/Resources/up-arrow.png new file mode 100644 index 0000000..5146782 Binary files /dev/null and b/LocomativeProject/LocomativeProject/Resources/up-arrow.png differ diff --git a/source/img/arrow_down.png b/source/img/arrow_down.png new file mode 100644 index 0000000..4abf4bd Binary files /dev/null and b/source/img/arrow_down.png differ diff --git a/source/img/arrow_left.png b/source/img/arrow_left.png new file mode 100644 index 0000000..1750155 Binary files /dev/null and b/source/img/arrow_left.png differ diff --git a/source/img/arrow_right.png b/source/img/arrow_right.png new file mode 100644 index 0000000..ca3d16e Binary files /dev/null and b/source/img/arrow_right.png differ diff --git a/source/img/arrow_up.png b/source/img/arrow_up.png new file mode 100644 index 0000000..5146782 Binary files /dev/null and b/source/img/arrow_up.png differ