diff --git a/Airbus/Airbus/Airbus.csproj b/Airbus/Airbus/Airbus.csproj index b57c89e..13ee123 100644 --- a/Airbus/Airbus/Airbus.csproj +++ b/Airbus/Airbus/Airbus.csproj @@ -8,4 +8,19 @@ enable + + + True + True + Resources.resx + + + + + + ResXFileCodeGenerator + Resources.Designer.cs + + + \ No newline at end of file diff --git a/Airbus/Airbus/Direction.cs b/Airbus/Airbus/Direction.cs new file mode 100644 index 0000000..3276803 --- /dev/null +++ b/Airbus/Airbus/Direction.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Airbus +{ + //направление перемещения + internal enum Direction + { + Up = 1, + Down = 2, + Left = 3, + Right = 4 + } +} diff --git a/Airbus/Airbus/DrawingAirbus.cs b/Airbus/Airbus/DrawingAirbus.cs new file mode 100644 index 0000000..618c64e --- /dev/null +++ b/Airbus/Airbus/DrawingAirbus.cs @@ -0,0 +1,154 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Airbus +{ + //класс, отвечающий за прорисовку и перемещение объект + internal class DrawingAirbus + { + public EntityAirbus Airbus { get; private set; } //класс-сущность + + private float _startPosX; //левая координата отрисовки + + private float _startPosY; //верхняя координата отрисовки + + private int? _pictureWidth = null; //ширина окна отрисовки + + private int? _pictureHeight = null; //высота окна отрисовки + + protected readonly int _airbusWidth = 50; //ширина отрисовки самолёта + + protected readonly int _airbusHeight = 16; //высота отрисовки самолёта + + //инициализаци свойств + public void Initial(int speed, float weight, Color corpusColor) + { + Airbus = new EntityAirbus(); + Airbus.Initial(speed, weight, corpusColor); + } + + //установка координат позиции самолёта + public void SetPosition(int x, int y, int width, int height) + { + if (x < 0 || y < 0 || width < x + _airbusWidth || height < y + _airbusHeight) + { + _pictureHeight = null; + _pictureWidth = null; + + return; + } + + _startPosX = x; + _startPosY = y; + _pictureWidth = width; + _pictureHeight = height; + } + + //изменение направления движения + public void MoveTransport(Direction direction) + { + if (!_pictureWidth.HasValue || !_pictureHeight.HasValue) + { + return; + } + + switch (direction) + { + case Direction.Right: //вправо + if (_startPosX + _airbusWidth + Airbus.Step < _pictureWidth) + { + _startPosX += Airbus.Step; + } + break; + + case Direction.Left: //влево + if (_startPosX - _airbusWidth - Airbus.Step > 0) + { + _startPosX -= Airbus.Step; + } + break; + + case Direction.Up: //вверх + if (_startPosY - _airbusHeight - Airbus.Step > 0) + { + _startPosY -= Airbus.Step; + } + break; + + case Direction.Down: //вниз + if (_startPosY + _airbusHeight + Airbus.Step < _pictureHeight) + { + _startPosY += Airbus.Step; + } + break; + } + } + + //отрисовка самолёта + public void DrawTransport(Graphics g) + { + if (_startPosX < 0 || _startPosY < 0 || !_pictureHeight.HasValue || !_pictureWidth.HasValue) + { + return; + } + + Pen pen = new(Color.Black); + + //корпус + g.DrawRectangle(pen, _startPosX, _startPosY + 10, 40, 10); + + //крыло + Brush darkBrush = new SolidBrush(Color.Black); + g.FillRectangle(darkBrush, _startPosX + 10, _startPosY + 13, 20, 2); + g.FillRectangle(darkBrush, _startPosX + 12, _startPosY + 15, 16, 2); + + //хвостовое крыло + g.DrawLine(pen, _startPosX, _startPosY + 10, _startPosX, _startPosY); + g.DrawLine(pen, _startPosX, _startPosY, _startPosX + 10, _startPosY + 10); + + //заднее поперечное крыло + g.FillEllipse(darkBrush, _startPosX - 3, _startPosY + 7, 10, 5); + + //нос самолёта + g.DrawLine(pen, _startPosX + 40, _startPosY + 15, _startPosX + 50, _startPosY + 16); + g.DrawLine(pen, _startPosX + 40, _startPosY + 10, _startPosX + 47, _startPosY + 15); + g.DrawLine(pen, _startPosX + 40, _startPosY + 20, _startPosX + 50, _startPosY + 15); + + //задние шасси + g.FillRectangle(darkBrush, _startPosX + 10, _startPosY + 21, 2, 2); + g.FillRectangle(darkBrush, _startPosX + 12, _startPosY + 23, 4, 4); + g.FillRectangle(darkBrush, _startPosX + 8, _startPosY + 23, 2, 4); + + //переднее шасси + g.FillRectangle(darkBrush, _startPosX + 35, _startPosY + 21, 2, 2); + g.FillRectangle(darkBrush, _startPosX + 35, _startPosY + 23, 4, 4); + } + + //смена границ формы отрисовки + public void ChangeBorders(int width, int height) + { + _pictureWidth = width; + _pictureHeight = height; + + if (_pictureWidth <= _airbusWidth || _pictureHeight <= _airbusHeight) + { + _pictureWidth = null; + _pictureHeight = null; + return; + } + + if (_startPosX + _airbusWidth > _pictureWidth) + { + _startPosX = _pictureWidth.Value - _airbusWidth; + } + + if (_startPosY + _airbusHeight > _pictureHeight) + { + _startPosY = _pictureHeight.Value - _airbusHeight; + } + } + } +} diff --git a/Airbus/Airbus/EntityAirbus.cs b/Airbus/Airbus/EntityAirbus.cs new file mode 100644 index 0000000..c2beb31 --- /dev/null +++ b/Airbus/Airbus/EntityAirbus.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Airbus +{ + internal class EntityAirbus + { + public int Speed { get; private set; } //скорость + + public float Weight { get; private set; } //вес + + public Color CorpusColor { get; private set; } //цвет корпуса + + public float Step => Speed * 100 / Weight; //шаг перемещения самолёта + + public void Initial(int speed, float weight, Color corpusColor) + { + Speed = speed; + Weight = weight; + CorpusColor = corpusColor; + } + } +} diff --git a/Airbus/Airbus/Form1.Designer.cs b/Airbus/Airbus/Form1.Designer.cs index 61670a6..412c891 100644 --- a/Airbus/Airbus/Form1.Designer.cs +++ b/Airbus/Airbus/Form1.Designer.cs @@ -3,12 +3,12 @@ partial class Form1 { /// - /// Required designer variable. + /// Required designer variable. /// private System.ComponentModel.IContainer components = null; /// - /// Clean up any resources being used. + /// Clean up any resources being used. /// /// true if managed resources should be disposed; otherwise, false. protected override void Dispose(bool disposing) @@ -23,17 +23,159 @@ #region Windows Form Designer generated code /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. + /// 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(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1)); + this.pictureBoxAirbus = new System.Windows.Forms.PictureBox(); + this.statusStrip1 = new System.Windows.Forms.StatusStrip(); + this.toolStripStatusLabelSpeed = new System.Windows.Forms.ToolStripStatusLabel(); + this.toolStripStatusLabelWeight = new System.Windows.Forms.ToolStripStatusLabel(); + this.toolStripStatusLabelCorpusColor = new System.Windows.Forms.ToolStripStatusLabel(); + this.buttonCreate = new System.Windows.Forms.Button(); + this.buttonUp = new System.Windows.Forms.Button(); + this.buttonLeft = new System.Windows.Forms.Button(); + this.buttonDown = new System.Windows.Forms.Button(); + this.buttonRight = new System.Windows.Forms.Button(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxAirbus)).BeginInit(); + this.statusStrip1.SuspendLayout(); + this.SuspendLayout(); + // + // pictureBoxAirbus + // + this.pictureBoxAirbus.Dock = System.Windows.Forms.DockStyle.Fill; + this.pictureBoxAirbus.Location = new System.Drawing.Point(0, 0); + this.pictureBoxAirbus.Name = "pictureBoxAirbus"; + this.pictureBoxAirbus.Size = new System.Drawing.Size(800, 424); + this.pictureBoxAirbus.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; + this.pictureBoxAirbus.TabIndex = 0; + this.pictureBoxAirbus.TabStop = false; + // + // statusStrip1 + // + this.statusStrip1.ImageScalingSize = new System.Drawing.Size(20, 20); + this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.toolStripStatusLabelSpeed, + this.toolStripStatusLabelWeight, + this.toolStripStatusLabelCorpusColor}); + this.statusStrip1.Location = new System.Drawing.Point(0, 424); + this.statusStrip1.Name = "statusStrip1"; + this.statusStrip1.Size = new System.Drawing.Size(800, 26); + this.statusStrip1.TabIndex = 1; + this.statusStrip1.Text = "statusStrip1"; + // + // toolStripStatusLabelSpeed + // + this.toolStripStatusLabelSpeed.Name = "toolStripStatusLabelSpeed"; + this.toolStripStatusLabelSpeed.Size = new System.Drawing.Size(76, 20); + this.toolStripStatusLabelSpeed.Text = "Скорость:"; + // + // toolStripStatusLabelWeight + // + this.toolStripStatusLabelWeight.Name = "toolStripStatusLabelWeight"; + this.toolStripStatusLabelWeight.Size = new System.Drawing.Size(36, 20); + this.toolStripStatusLabelWeight.Text = "Вес:"; + // + // toolStripStatusLabelCorpusColor + // + this.toolStripStatusLabelCorpusColor.Name = "toolStripStatusLabelCorpusColor"; + this.toolStripStatusLabelCorpusColor.Size = new System.Drawing.Size(45, 20); + this.toolStripStatusLabelCorpusColor.Text = "Цвет:"; + // + // buttonCreate + // + this.buttonCreate.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.buttonCreate.Location = new System.Drawing.Point(12, 392); + this.buttonCreate.Name = "buttonCreate"; + this.buttonCreate.Size = new System.Drawing.Size(94, 29); + this.buttonCreate.TabIndex = 2; + this.buttonCreate.Text = "Создать"; + this.buttonCreate.UseVisualStyleBackColor = true; + this.buttonCreate.Click += new System.EventHandler(this.ButtonCreate_Click); + // + // buttonUp + // + this.buttonUp.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonUp.BackgroundImage = global::Airbus.Properties.Resources.Up; + this.buttonUp.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom; + this.buttonUp.Location = new System.Drawing.Point(692, 325); + this.buttonUp.Name = "buttonUp"; + this.buttonUp.Size = new System.Drawing.Size(45, 45); + this.buttonUp.TabIndex = 3; + this.buttonUp.UseVisualStyleBackColor = true; + this.buttonUp.Click += new System.EventHandler(this.ButtonMove_Click); + // + // buttonLeft + // + this.buttonLeft.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonLeft.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("buttonLeft.BackgroundImage"))); + this.buttonLeft.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom; + this.buttonLeft.Location = new System.Drawing.Point(641, 376); + this.buttonLeft.Name = "buttonLeft"; + this.buttonLeft.Size = new System.Drawing.Size(45, 45); + this.buttonLeft.TabIndex = 4; + this.buttonLeft.UseVisualStyleBackColor = true; + this.buttonLeft.Click += new System.EventHandler(this.ButtonMove_Click); + // + // buttonDown + // + this.buttonDown.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonDown.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("buttonDown.BackgroundImage"))); + this.buttonDown.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom; + this.buttonDown.Location = new System.Drawing.Point(692, 376); + this.buttonDown.Name = "buttonDown"; + this.buttonDown.Size = new System.Drawing.Size(45, 45); + this.buttonDown.TabIndex = 5; + this.buttonDown.UseVisualStyleBackColor = true; + this.buttonDown.Click += new System.EventHandler(this.ButtonMove_Click); + // + // buttonRight + // + this.buttonRight.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonRight.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("buttonRight.BackgroundImage"))); + this.buttonRight.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom; + this.buttonRight.Location = new System.Drawing.Point(743, 376); + this.buttonRight.Name = "buttonRight"; + this.buttonRight.Size = new System.Drawing.Size(45, 45); + this.buttonRight.TabIndex = 6; + this.buttonRight.UseVisualStyleBackColor = true; + this.buttonRight.Click += new System.EventHandler(this.ButtonMove_Click); + // + // Form1 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 20F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(800, 450); - this.Text = "Form1"; + this.Controls.Add(this.buttonRight); + this.Controls.Add(this.buttonDown); + this.Controls.Add(this.buttonLeft); + this.Controls.Add(this.buttonUp); + this.Controls.Add(this.buttonCreate); + this.Controls.Add(this.pictureBoxAirbus); + this.Controls.Add(this.statusStrip1); + this.Name = "Form1"; + this.Text = "Aэробус"; + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxAirbus)).EndInit(); + this.statusStrip1.ResumeLayout(false); + this.statusStrip1.PerformLayout(); + this.ResumeLayout(false); + this.PerformLayout(); + } #endregion + + private PictureBox pictureBoxAirbus; + private StatusStrip statusStrip1; + private ToolStripStatusLabel toolStripStatusLabelSpeed; + private ToolStripStatusLabel toolStripStatusLabelWeight; + private ToolStripStatusLabel toolStripStatusLabelCorpusColor; + private Button buttonCreate; + private Button buttonUp; + private Button buttonLeft; + private Button buttonDown; + private Button buttonRight; } } \ No newline at end of file diff --git a/Airbus/Airbus/Form1.cs b/Airbus/Airbus/Form1.cs index b05d848..076d42a 100644 --- a/Airbus/Airbus/Form1.cs +++ b/Airbus/Airbus/Form1.cs @@ -1,10 +1,73 @@ +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 Airbus { public partial class Form1 : Form { + private DrawingAirbus _airbus; + public Form1() { InitializeComponent(); } + + //метод прорисовки самолёта + private void Draw() + { + Bitmap bmp = new(pictureBoxAirbus.Width, pictureBoxAirbus.Height); + Graphics gr = Graphics.FromImage(bmp); + _airbus?.DrawTransport(gr); + pictureBoxAirbus.Image = bmp; + } + + //обработка нажатия кнопки "Создать" + private void ButtonCreate_Click(object sender, EventArgs e) + { + Random rnd = new(); + _airbus = new DrawingAirbus(); + _airbus.Initial(rnd.Next(100, 300), rnd.Next(1000, 2000), Color.FromArgb(rnd.Next(0, 256), rnd.Next(0, 256), rnd.Next(0, 256))); + _airbus.SetPosition(rnd.Next(10, 100), rnd.Next(10, 100), pictureBoxAirbus.Width, pictureBoxAirbus.Height); + toolStripStatusLabelSpeed.Text = $"Скорость: {_airbus.Airbus?.Speed}"; + toolStripStatusLabelWeight.Text = $"Вес: {_airbus.Airbus?.Weight}"; + toolStripStatusLabelCorpusColor.Text = $"Цвет: {_airbus.Airbus?.CorpusColor.Name}"; + Draw(); + } + + private void ButtonMove_Click(object sender, EventArgs e) + { + //получаем имя кнопки + string name = ((Button)sender)?.Name ?? string.Empty; + switch (name) + { + case "buttonUp": + _airbus?.MoveTransport(Direction.Up); + break; + case "buttonDown": + _airbus?.MoveTransport(Direction.Down); + break; + case "buttonLeft": + _airbus?.MoveTransport(Direction.Left); + break; + case "buttonRight": + _airbus?.MoveTransport(Direction.Right); + break; + } + Draw(); + } + + // Изменение размеров формы + private void PictureBoxCar_Resize(object sender, EventArgs e) + { + _airbus?.ChangeBorders(pictureBoxAirbus.Width, pictureBoxAirbus.Height); + Draw(); + } } -} \ No newline at end of file +} diff --git a/Airbus/Airbus/Form1.resx b/Airbus/Airbus/Form1.resx index 1af7de1..a5f411d 100644 --- a/Airbus/Airbus/Form1.resx +++ b/Airbus/Airbus/Form1.resx @@ -1,64 +1,4 @@ - - - + @@ -117,4 +57,325 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 17, 17 + + + + + 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 + T/8H7joK30yIC9IAAAAASUVORK5CYII= + + + + + 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 + RrMxG2pfW2X6yEFjttS+Nss0mm3ZUvvaLNMfu2zKptpXA5lGsyEbal/FuO4+81wpzFXzNjbUvorxVpke + AzVjQ+2rkUz3mq3YUvtqJdNVsxGr3vbVR6Z7zUZUHmIfK9NotmFT7auVTE9om7Ct9tVOptFswLbaVzOZ + RrMBa9/21U+m0dxM9ecrR8v0kYPNbK19NZRpNLeytfbVUKar5kY2176ayjSam9hc+2op02OgTWyvfZUy + Dzffgz5hNDfQpPZVjFtk+mOXt9Om9tVSptG8meU95kSZR/eat9Ko9tVSps2TW6kc/syU6THQjbSqfTWV + 6V7zNm5+21dPmR4D3USz2ldjmUbzBprVvtrK9BjoBqo/XzlbptFcT7vaV2OZrpqraVj7ai7TveZKGta+ + Wst0r7mSlrWv5jJdNdfRrvZVjJvuM19Go7mCdrWvYmwk02iuYPGrbCCZfqG9noa1r04yjebVNKx99ZHp + XvNqNr3ta5BMo3klLWtfnWQazStpWvvqJtNjoKuotUtCyfQY6Cra1r66yXTVvIaNb/saJdNV8wrq95jR + ZBrNizSuffWT6SMHF2ld++oo02heonXtq6NMf+zyAs1rX6XMQ6tr0SeM5lkW95htLTSU6V7zHF1qXx1l + egx0hi61r34yfVPYGfrUvnrKdNWs0uhtX+NkutesUjv8CSzTaNboVPvqKdMT2gq9al99ZRrNRXrVvrrK + NJqLtHvb11iZRnOBbrWvvjJ95GCBfrWvzjKN5mv61b46y3TVfEXH2ld3mUazoFvtqxhb3me+jEbzGxYP + fzp87H1kGs1v6Fb7GiLTRw6+pl/ta4xMo/kVy/eYaWS61/yKjrWvMTJtnnyh0i7JI9NovtCz9jVIpqvm + Z5q+7WuOTI+Bnula+xom02h+pGvta5RMnwb6SN/a1zCZRvOJvrWvYTJdNR+6174GynSv2bv2NU6me83u + ta9S5qHTLekTu181B9S+irGfzL1Hc0Tta5zMnUdzeY+ZVObOS2FDal8DZe46mkNqX+Nk7nqv2eltXxNl + 7jiaY2pfA2XuOJqDal9DZe72GKj285WJZe72GGhU7WuozL2umqNqX0Nl7nTVHFb7Gixzl9EcVvsaK3OX + jxyMq30NlrnHaI6qfRVjx/vMl3F3zZNub/s6Pw6RubtoLu4xITL39oV2WO1risydHQMNq33NkLmzvea4 + 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 + WHROqhnWrFYAAAAASUVORK5CYII= + + + + + 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 + Dz0JRNLH/YMcAAAAAElFTkSuQmCC + + \ No newline at end of file diff --git a/Airbus/Airbus/Properties/Resources.Designer.cs b/Airbus/Airbus/Properties/Resources.Designer.cs new file mode 100644 index 0000000..85adac8 --- /dev/null +++ b/Airbus/Airbus/Properties/Resources.Designer.cs @@ -0,0 +1,103 @@ +//------------------------------------------------------------------------------ +// +// Этот код создан программой. +// Исполняемая версия:4.0.30319.42000 +// +// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае +// повторной генерации кода. +// +//------------------------------------------------------------------------------ + +namespace Airbus.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("Airbus.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/Airbus/Airbus/Properties/Resources.resx b/Airbus/Airbus/Properties/Resources.resx new file mode 100644 index 0000000..38bb323 --- /dev/null +++ b/Airbus/Airbus/Properties/Resources.resx @@ -0,0 +1,133 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + ..\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/Airbus/Airbus/Resources/Down.png b/Airbus/Airbus/Resources/Down.png new file mode 100644 index 0000000..af66bbc Binary files /dev/null and b/Airbus/Airbus/Resources/Down.png differ diff --git a/Airbus/Airbus/Resources/Left.png b/Airbus/Airbus/Resources/Left.png new file mode 100644 index 0000000..b149788 Binary files /dev/null and b/Airbus/Airbus/Resources/Left.png differ diff --git a/Airbus/Airbus/Resources/Right.png b/Airbus/Airbus/Resources/Right.png new file mode 100644 index 0000000..8efc4be Binary files /dev/null and b/Airbus/Airbus/Resources/Right.png differ diff --git a/Airbus/Airbus/Resources/Up.png b/Airbus/Airbus/Resources/Up.png new file mode 100644 index 0000000..6fb895a Binary files /dev/null and b/Airbus/Airbus/Resources/Up.png differ