#c# #.net #image #transparency #picturebox
#c# #.net #изображение #прозрачность #picturebox
Вопрос:
Здесь у меня есть GIF-анимация с прозрачным фоном, которая будет появляться каждый раз, когда пользователь нажимает. GIF-анимация представляет собой простой объект PictureBox.
Меня беспокоит то, что фон GIF-анимации показывает фон окна формы, который закрывает кнопки здесь:
Я понимаю, что «прозрачный фон» GIF-анимации на самом деле является фоном окна формы.
Как можно отобразить GIF-анимацию с прозрачным фоном только над отображаемыми кнопками?
Вы можете ознакомиться с моей формой Windows здесь:https://youtu.be/FBuom68dKv4
Комментарии:
1. Если PBox вложен в один контейнер и имеет
BackColor.Transparent
, он должен работать нормально. Здесь это происходит. Если она находится не в контейнере, например, в другом PBox или кнопке, вам нужно закодировать вложение следующим образом:youGifPBox.Parent = someButton; youGifPBox.Location = ...
2. Дубликат linke, похоже, на самом деле не соответствует проблемам этого сообщения. Я не вижу здесь перекрытия. Ответы также не очень хороши, поскольку они не объясняют правила полностью.. — Конечно, нельзя просто рисовать анимированные GIF-файлы..
3. Означает ли это, что я могу использовать панель и поместить PictureBox внутри указанной панели?
4. Какие контейнеры нравятся?
5. Пока PBox находится только на ОДНОМ другом элементе управления, он будет работать. Панели (и групповые поля, а затем некоторые ..) являются контейнерами, и размещение элемента управления в них автоматически вложит их. Кнопка, PBoxes и большинство других элементов управления, а не контейнеров. Вы все еще можете вложить в них, установив
Parent
или выполнивctl1.Controls.Add(ctl2)
— Вы правильно установили PBox.BackColor? Это первое, что вам нужно сделать правильно!