diff --git a/lainer/Lainer1/FormLainerCollection.cs b/lainer/Lainer1/FormLainerCollection.cs index 07372e7..2c3c800 100644 --- a/lainer/Lainer1/FormLainerCollection.cs +++ b/lainer/Lainer1/FormLainerCollection.cs @@ -1,4 +1,15 @@ -using ProjectLainer.DrawningObjects; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Reflection.Metadata.Ecma335; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +using ProjectLainer.DrawningObjects; using ProjectLainer.Generics; using ProjectLainer.MovementStrategy; @@ -10,26 +21,24 @@ namespace ProjectLainer public FormLainerCollection() { InitializeComponent(); - _storage = new LainersGenericStorage(pictureBoxCollection.Width, - pictureBoxCollection.Height); + _storage = new LainersGenericStorage(pictureBoxCollection.Width, pictureBoxCollection.Height); } private void ReloadObjects() { int index = listBoxStorages.SelectedIndex; listBoxStorages.Items.Clear(); - - foreach (string key in _storage.Keys) + for (int i = 0; i < _storage.Keys.Count; i++) { - listBoxStorages.Items.Add(key); - if (listBoxStorages.Items.Count > 0 && (index == -1 || index >= listBoxStorages.Items.Count)) - { - listBoxStorages.SelectedIndex = 0; - } - else if (listBoxStorages.Items.Count > 0 && index > -1 && index < listBoxStorages.Items.Count) - { - listBoxStorages.SelectedIndex = index; - } - } + listBoxStorages.Items.Add(_storage.Keys[i]); + } + if (listBoxStorages.Items.Count > 0 && (index == -1 || index >= listBoxStorages.Items.Count)) + { + listBoxStorages.SelectedIndex = 0; + } + else if (listBoxStorages.Items.Count > 0 && index > -1 && index < listBoxStorages.Items.Count) + { + listBoxStorages.SelectedIndex = index; + } } private void ButtonAddObject_Click(object sender, EventArgs e) { @@ -66,19 +75,9 @@ namespace ProjectLainer { return; } - LainerForm form = new(); - if (form.ShowDialog() == DialogResult.OK) - { - if (obj + form.SelectedLainer) - { - MessageBox.Show("Объект добавлен"); - pictureBoxCollection.Image = obj.ShowLainers(); - } - else - { - MessageBox.Show("Не удалось добавить объект"); - } - } + var formLinerConfig = new FormLainerConfig(); + formLinerConfig.AddEvent(AddLainer); + formLinerConfig.Show(); } private void ButtonRemove_Click(object sender, EventArgs e) { @@ -86,8 +85,7 @@ namespace ProjectLainer { return; } - var obj = _storage[listBoxStorages.SelectedItem.ToString() ?? - string.Empty]; + var obj = _storage[listBoxStorages.SelectedItem.ToString() ?? string.Empty]; if (obj == null) { return; @@ -126,5 +124,26 @@ namespace ProjectLainer { pictureBoxCollection.Image = _storage[listBoxStorages.SelectedItem?.ToString() ?? string.Empty]?.ShowLainers(); } + private void AddLainer(DrawingEntity lainer) + { + if (listBoxStorages.SelectedIndex == -1) + { + return; + } + var obj = _storage[listBoxStorages.SelectedItem.ToString() ?? string.Empty]; + if (obj == null) + { + return; + } + if (obj + lainer) + { + MessageBox.Show("Объект добавлен"); + pictureBoxCollection.Image = obj.ShowLainers(); + } + else + { + MessageBox.Show("Не удалось добавить объект"); + } + } } } diff --git a/lainer/Lainer1/LainerDelegate.cs b/lainer/Lainer1/LainerDelegate.cs new file mode 100644 index 0000000..933999d --- /dev/null +++ b/lainer/Lainer1/LainerDelegate.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using ProjectLainer.DrawningObjects; + +namespace Lainers +{ + public delegate void LainerDelegate(DrawingEntity car); + +}