diff --git a/LocomotivesAdvanced/LocomotivesAdvanced/FormMapWithSetLocomotives.cs b/LocomotivesAdvanced/LocomotivesAdvanced/FormMapWithSetLocomotives.cs index 639a407..9183d31 100644 --- a/LocomotivesAdvanced/LocomotivesAdvanced/FormMapWithSetLocomotives.cs +++ b/LocomotivesAdvanced/LocomotivesAdvanced/FormMapWithSetLocomotives.cs @@ -152,11 +152,11 @@ return; } int pos = Convert.ToInt32(maskedTextBoxPosition.Text); - DrawningObjectLocomotive removableObject = _mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty] - pos; - if (removableObject != null) + var removableObject = _mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty, pos]; + if (_mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty] - pos != null) { MessageBox.Show("Объект удален"); - _mapsCollection.RemovedObject = removableObject; + _mapsCollection.RemovedObject = (DrawningObjectLocomotive)removableObject; pictureBoxLocomotives.Image = _mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty].ShowSet(); } else @@ -230,11 +230,13 @@ { if (_mapsCollection.RemovedObject == null) { + MessageBox.Show("Коллекция удалённых элементов пуста"); return; } FormLocomotive formWithLastRemovedObject = new(_mapsCollection.RemovedObject._locomotive); formWithLastRemovedObject.Show(); formWithLastRemovedObject.Draw(); + _mapsCollection.RemoveLastObject(); } } } diff --git a/LocomotivesAdvanced/LocomotivesAdvanced/MapsCollection.cs b/LocomotivesAdvanced/LocomotivesAdvanced/MapsCollection.cs index 6a8dbb9..3394c2c 100644 --- a/LocomotivesAdvanced/LocomotivesAdvanced/MapsCollection.cs +++ b/LocomotivesAdvanced/LocomotivesAdvanced/MapsCollection.cs @@ -107,9 +107,14 @@ { return null; } - return _removedObjects.Last.Value; + var removedObject = _removedObjects.Last(); + return removedObject; } } + public void RemoveLastObject() + { + _removedObjects.RemoveLast(); + } } }