Как сделать ярлыки и другие элементы управления прозрачными с фоновым изображением на Windows Mobile? - PullRequest
2 голосов
/ 25 сентября 2010

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

protected override void OnPaint(PaintEventArgs e)
                {
                    base.OnPaint(e);
                    Bitmap CreateCustomerImage = new Bitmap(@"/Storage Card/background.png");
                    e.Graphics.DrawImage(CreateCustomerImage, 0, 0);
                }

как это сделать?Как решить эту проблему?Можете ли вы предоставить мне какой-либо код или ссылку, по которой я могу решить вышеуказанную проблему?

1 Ответ

1 голос
/ 25 сентября 2010

Windows CE по своей природе не поддерживает прозрачные элементы управления, что вызывает огромную боль. Вы должны использовать что-то вроде прозрачности ColorKey, поэтому в вашем OnPaint вам нужно залить фон цветом (популярный пурпурный) и использовать SetColorKey, чтобы сделать этот цвет прозрачным.

В Интернете есть несколько уроков по прозрачности цветовых клавиш. Вот один , который я только что нашел с помощью поисковой системы, которая выглядит разумно, но не стесняйтесь искать и других.

Место, где это падает, это когда у вас есть элементы управления в элементе управления контейнера, который затем находится в Форме. Чтобы это работало правильно, вы должны каскадировать вызовы в области отсечения из формы до конца. У меня нет готового образца этого, которого нет в проекте доставки, поэтому я не могу легко опубликовать его. Если вы столкнетесь с этим, обновите вопрос, и я посмотрю, смогу ли я что-нибудь извлечь.

...