Первая лабораторная работа.

This commit is contained in:
Programmist73 2022-09-22 23:05:37 +04:00
parent 53c8c10bd8
commit 7ca6b76dd6
9 changed files with 1031 additions and 68 deletions

View File

@ -8,4 +8,19 @@
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
<ItemGroup>
<Compile Update="Properties\Resources.Designer.cs">
<DesignTime>True</DesignTime>
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Update="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
</ItemGroup>
</Project>

View File

@ -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
}
}

View File

@ -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;
}
}
}
}

View File

@ -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;
}
}
}

View File

@ -3,12 +3,12 @@
partial class Form1
{
/// <summary>
/// Required designer variable.
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
@ -23,17 +23,159 @@
#region Windows Form Designer generated code
/// <summary>
/// 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.
/// </summary>
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 = ((System.Drawing.Image)(resources.GetObject("buttonUp.BackgroundImage")));
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;
}
}

View File

@ -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();
}
}
}
}

View File

@ -1,64 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<root>
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
@ -117,4 +57,427 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="statusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="buttonUp.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
</value>
</data>
<data name="buttonLeft.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
T/8H7joK30yIC9IAAAAASUVORK5CYII=
</value>
</data>
<data name="buttonDown.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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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=
</value>
</data>
<data name="buttonRight.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
Dz0JRNLH/YMcAAAAAElFTkSuQmCC
</value>
</data>
</root>

View File

@ -0,0 +1,63 @@
//------------------------------------------------------------------------------
// <auto-generated>
// Этот код создан программой.
// Исполняемая версия:4.0.30319.42000
//
// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
// повторной генерации кода.
// </auto-generated>
//------------------------------------------------------------------------------
namespace Airbus.Properties {
using System;
/// <summary>
/// Класс ресурса со строгой типизацией для поиска локализованных строк и т.д.
/// </summary>
// Этот класс создан автоматически классом 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() {
}
/// <summary>
/// Возвращает кэшированный экземпляр ResourceManager, использованный этим классом.
/// </summary>
[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;
}
}
/// <summary>
/// Перезаписывает свойство CurrentUICulture текущего потока для всех
/// обращений к ресурсу с помощью этого класса ресурса со строгой типизацией.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
}
}

View File

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>