Прозрачность ImageList не работает во время выполнения

Я использую 32-битные файлы PNG с прозрачностью. Я добавил их в список изображений со свойствами:

ColorDepth: Depth32Bit
TransparentColor: Transparent

Когда я назначаю изображение кнопке на панели инструментов, оно отлично просматривается в Visual Studio с правильной прозрачностью. Но когда я запускаю приложение, прозрачность искажается черным цветом, покрывающим полупрозрачные области.

Как это исправить?

alt text

alt text


person Jack B Nimble    schedule 20.11.2009    source источник
comment
Если я правильно помню, в SWF 2.0 ImageList была ошибка, из-за которой альфа-канал удалялся из 32-битных изображений в списке изображений при сохранении ресурсов списка изображений. Изображения по-прежнему отображаются правильно, если вы сохраняете и перезагружаете форму в Visual Studio?   -  person OregonGhost    schedule 20.11.2009
comment
Да, предварительный просмотр по-прежнему корректен после сохранения и закрытия формы или перезапуска Visual Studio.   -  person Jack B Nimble    schedule 20.11.2009


Ответы (2)


Если вы добавите их прямо на панель инструментов без использования списка изображений, я думаю, они будут отображаться правильно.

person Matt Breckon    schedule 20.11.2009
comment
Простое решение. Я тоже предпочитаю этот способ. - person OregonGhost; 20.11.2009
comment
Ну, я бы предпочел использовать список изображений, чтобы упростить замену изображений кнопок панели инструментов (например, неактивная кнопка переключения). - person Jack B Nimble; 20.11.2009
comment
На мой взгляд, вы не должны изменять текст или значок кнопки панели инструментов во время выполнения. Для этого вы можете использовать проверяемую кнопку. - person OregonGhost; 20.11.2009
comment
Как добавить их прямо на панель инструментов? - person Jack B Nimble; 20.11.2009
comment
Я предполагаю, что вы используете панель инструментов в стиле SWF 1.1? Вместо этого я предлагаю использовать ToolStrip в стиле 2.0. Это не только добавляет яркости вашему приложению, но и позволяет напрямую устанавливать изображения :) - person OregonGhost; 23.11.2009