PIbd-23_Dyakonov_R_R_Tank/ProjectTank/FormTankCollection.cs
2023-10-31 12:26:25 +04:00

79 lines
2.7 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using ProjectTank.DrawningObjects;
using ProjectTank.Generics;
using ProjectTank.MovementStrategy;
namespace ProjectTank
{
public partial class FormTankCollection : Form
{
/// <summary>
/// Набор объектов
/// </summary>
private readonly TanksGenericCollection<DrawningTankBase, DrawningObjectTank> _tanks;
/// <summary>
/// Конструктор
/// </summary>
public FormTankCollection()
{
InitializeComponent();
_tanks = new TanksGenericCollection<DrawningTankBase, DrawningObjectTank>(pictureBoxCollection.Width,
pictureBoxCollection.Height);
}
/// <summary>
/// Добавление объекта в набор
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void ButtonAddTank_Click(object sender, EventArgs e)
{
FormTank form = new();
if (form.ShowDialog() == DialogResult.OK)
{
if (_tanks + form.SelectedTank != null)
{
MessageBox.Show("Объект добавлен");
pictureBoxCollection.Image = _tanks.ShowTanks();
}
else
{
MessageBox.Show("Не удалось добавить объект");
}
}
}
/// <summary>
/// Удаление объекта из набора
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void ButtonRemoveTank_Click(object sender, EventArgs e)
{
if (MessageBox.Show("Удалить объект?", "Удаление",
MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
{
return;
}
int pos = Convert.ToInt32(maskedTextBoxNumber.Text);
if (_tanks - pos != null)
{
MessageBox.Show("Объект удален");
pictureBoxCollection.Image = _tanks.ShowTanks();
maskedTextBoxNumber.Text = "";
}
else
{
MessageBox.Show("Не удалось удалить объект");
}
}
/// <summary>
/// Обновление рисунка по набору
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void ButtonRefreshCollection_Click(object sender, EventArgs e)
{
pictureBoxCollection.Image = _tanks.ShowTanks();
}
}
}