Есть ли способ удалить весь список массивов графических блоков (тоже удаляя изображения) и создать новый? - PullRequest
0 голосов
/ 23 марта 2020

У меня есть список массивов графических блоков, которые я хочу очистить или удалить и воссоздать, когда игрок захочет сбросить игру. Этот список массивов содержит пули, выпущенные игроком. Я отключил все таймеры для игры, включая тот, который перемещает пули перед запуском. Этот код должен удалить все элементы в списке массивов и создать новый:

for (int c = 0; c < bulletList.Count; c++)
        {
            this.Controls.Remove(bulletList.ElementAt(c));
            bulletList.Remove(bulletList.ElementAt(c));
            bulletCount--;
        }

        bulletCount = 0;
        bulletList = new List<PictureBox>();

Однако некоторые изображения элементов остаются в форме, даже если они были удалены из списка массивов. , Есть ли другой, лучший способ удалить весь список графических блоков или исправить эту проблему?

1 Ответ

0 голосов
/ 14 апреля 2020

Используйте метод управления Dipose (). Так что вместо этого будет

  for (int i = 0; i < bulletList.Count; i++) 
        {
            bulletList[i].Dispose(); 
        }

        bulletList.Clear();

        bulletCount = 0;
        bulletList = new List<PictureBox>();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...