Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 01.10.2018
Сообщений: 15
1

Прозрачный фон у картинки на элементе PictureBox непрозрачен для другого PictureBox

16.02.2019, 12:13. Просмотров 2156. Ответов 3
Метки нет (Все метки)

Здравствуйте! Проблема состоит в следующем! У меня есть картинка .png с прозрачным фоном. При создании PictureBox с этой картинкой, фон по отношению к форме действительно прозрачен, что не может не радовать, но! При создании второго PictureBox, при их наложении друг на друга, первый PictureBox перекрывает второй PictureBox. Как можно исправить проблему? Мне не важно использовать только PictureBox, я приму любое решение проблемы, которое удовлетворяет одному условию: Мне необходимо, чтобы две эти картинки были объектами, с которыми можно взаимодействовать.

И да, чтобы не разводить кучу похожих ответов, которые мне уже предлагали, предупреждаю, что предложения сделать одну картинку фоном формы а вторую в PictureBox не принимаются, ибо это - бессмысленно для меня. Предложения не перекрывать один PictureBox другим - аналогично не принимаются. Специфика программы в том, что объекты с картинками должны двигаться и должны иметь возможность перекрываться. Прилагаю иллюстрацию проблемы в скриншоте:

Буду безумно рад любой помощи и обязательно плюсану за решение проблемы!
0
Миниатюры
Прозрачный фон у картинки на элементе PictureBox непрозрачен для другого PictureBox  
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.02.2019, 12:13
Ответы с готовыми решениями:

Не получается сделать прозрачный фон картинки в PictureBox
Проблема в заголовке. Много искал на форуме различных способов, но ни один не помогает Вот...

Прозрачный фон PictureBox'а
У меня в программе в одном PictureBox'е рисуются линии, а другой маленький PictureBox с картинкой с...

Прозрачный фон у PictureBox
У меня в PictureBox ромбик в формате .png. На форме рисуется линия к ромбику. Но эта линия...

Прозрачный фон pictureBox
Как сделать так чтоьы фон pictureBox был прозрачным но просто изменить BackColor на птранспарент не...

3
Фрилансер
792 / 301 / 146
Регистрация: 13.02.2019
Сообщений: 1,071
16.02.2019, 12:34 2
Лучший ответ Сообщение было отмечено tarantell как решение

Решение

Цитата Сообщение от tarantell Посмотреть сообщение
При создании PictureBox с этой картинкой, фон по отношению к форме действительно прозрачен, что не может не радовать, но! При создании второго PictureBox, при их наложении друг на друга, первый PictureBox перекрывает второй PictureBox.
Дело в том, что под прозрачным фоном отображается родительский контрол. Т.к. у обоих PictureBox'ов родитель - форма, то они и будут прозрачными только для формы, но не для друг друга. С этим, насколько я понимаю, ничего не сделать.

Цитата Сообщение от tarantell Посмотреть сообщение
Мне необходимо, чтобы две эти картинки были объектами, с которыми можно взаимодействовать.
Для этого совсем не обязательно закидывать картинку в PictureBox'ы. Можно, например, рисовать непосредственно на форме, используя Graphics.DrawImage. Придется, правда, немного пошаманить, чтобы можно было взаимодействовать с картинками. Но, в целом, это довольно простая задача.
1
Эксперт .NET
13489 / 10453 / 2749
Регистрация: 17.09.2011
Сообщений: 17,767
16.02.2019, 12:36 3
Цитата Сообщение от tarantell Посмотреть сообщение
Как можно исправить проблему?
Откажитесь от использования элементов управления для отрисовки анимации — прозрачность в винформах работает не совсем так, как ожидается.
Вместо этого создайте свой элемент управления и отрисвовывайте все что нужно напрямую через класс Graphics.
Простейший пример: Получить часть изображения
1
0 / 0 / 0
Регистрация: 01.10.2018
Сообщений: 15
16.02.2019, 13:24  [ТС] 4
Да, это помогает! спасибо большое обоим!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.02.2019, 13:24

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Прозрачный фон у pictureBox
Как его установить? Ставлю картинку .png, вижу белый задний фон у pictureBox. Хорошо было бы...

Прозрачный фон у изображения на фоне PictureBox
Начал писать программу и сразу столкнулся с проблемой. Любое изображение отображается со своим...

Как сделать прозрачный фон у PictureBox?
Нашол что можно сделать так this.SetStyle(ControlStyles.SupportsTransparentBackColor, true); //...

Как сделать прозрачный фон у PictureBox?
Здравствуйте дорогие участники форума! Я новичок в C#. Создаю игру в Visual Studio2015. Как сделать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.