Проблема с кнопками
Controls["button" + i.ToString()].BackgroundImage = imageList1.Images[i]; Выдаёт ошибку System.NullReferenceException: "Ссылка на объект не указывает на экземпляр объекта." Как можно это исправить или как менять номер кнопки? Например, есть некое значение а (предположим а=5), тогда у button5 меняем фон. Значение а может измениться, например на 4, тогда у button4 меняем фон
Ответы (1 шт):
Автор решения: YD359
→ Ссылка
- Лучше всего заранее создать массив кнопок и обращаться по индексу.
- Попробуйте разбить свои операции на несколько строк, и сделать брекпоинт для дебага, чтобы посмотреть, какие имена и индексы у вас в итоге получаются.
Было
Controls["button" + i.ToString()].BackgroundImage = imageList1.Images[i];
Стало
var btnName = "button" + i.ToString();
var bgImage = imageList1.Images[i];
Controls[btnName].BackgroundImage = bgImage; // Здесь брекпоинт
- Можно обернуть ваши действия в блок try\catch с выводов всей информации.