Вы можете создать синглтон-класс для каждой иконки. Первая ссылка это создает дескриптор. Последующие вызовы используют существующий дескриптор.
Не зная больше о вашем пользовательском контроле, мое следующее предложение может быть только очень общим. Но у вас может быть один растровый слой, на котором вы рисуете все свои иконки. Остальные элементы вашего пользовательского элемента управления будут существовать над этим растровым изображением и вокруг него.
К сожалению, эта идея может быть проблематичной с точки зрения производительности. Требовать от вас рефакторинга кода, который вы все готовы использовать для размещения значков. Наконец, неинституционально, как идеально работает фреймворк со структурой формы управления.
Мы столкнулись с проблемой ресурса с формами ввода для параметрической формы, которую мы поставляем с нашим программным обеспечением CAM. Слишком много текстовых записей вызывали различные формы странностей и утечек. Таким образом, вместо этого мы создали метки с границами, которые выглядели как текстовые записи и имели ОДНУ текстовую запись (и запись комбинированного окна тоже). Когда пользователь вкладывает, вводит или щелкает отдельную текстовую запись, она перемещается в новую запись, и метка настраивается для предыдущей записи.
Это полностью неинтуитивная настройка, чем то, как вы обычно это делаете, но это был единственный способ справиться с нашей проблемой с ресурсами.
По моему опыту, у GUI Frameworks есть проблемы, когда вам приходится иметь дело с десятками или сотнями записей, и что вам нужно подходить к проблеме, используя другой дизайн.