Как сделать один picturebox поверх другого c
For i = 1 To 4
Картинки(i) = NewSystem.Windows.Forms.PictureBox
With Картинки(i)
.Visible = True
If i Mod 2 = 0 Then
.Size = New Size(393, 50)
Else
.Size = New Size(361, 50)
End If
.BackColor = Color.Transparent
End With
Надписи(i) = New System.Windows.Forms.Label
With Надписи(i)
.Visible = True
If i Mod 2 = 0 Then
.Size = New Size(393, 20)
Else
.Size = New Size(361, 20)
End If
.BackColor = Color.Transparent
.ForeColor = Color.White
.Font = New Font(Шрифт, 12)
.Parent = КнопкиОтветов(i)
.BringToFront()
End With
AddHandler Картинки(i).Click, AddressOf Ответ_Click
Next i
Картинки(1).Location = New Point(0, 239)
Картинки(2).Location = New Point(361, 239)
Картинки(3).Location = New Point(0, 294)
Картинки(4).Location = New Point(361, 294)
Картинки(1).Image = Image.FromFile(Application.StartupPath & «\Картинки\A.png»)
Картинки(2).Image = Image.FromFile(Application.StartupPath & «\Картинки\B.png»)
Картинки(3).Image = Image.FromFile(Application.StartupPath & «\Картинки\C.png»)
Картинки(4).Image = Image.FromFile(Application.StartupPath & «\Картинки\D.png»)
Надписи(1).Location = New Point(1, 1)
Надписи(2).Location = New Point(381, 239)
Надписи(3).Location = New Point(20, 294)
Надписи(4).Location = New Point(381, 294)
Me .Controls.AddRange( Me .Картинки)
Me .Controls.AddRange( Me .Надписи)
| Ответы | Всего ответов: 5 |
Наложение PictureBox поверх другого PictureBox C# WinForms

Суть проблемы такая: есть основной PictureBox, в него идёт поток изображений с камеры (В виде видео), я хочу наложить сверху другой PictureBox, чтобы указывать какие либо статусы (Разрыв, нестабильное соединение и пр.). Соответственно я создал ещё один PB и задал ему BackColor = Transparent, присвоил ему изображение с прозрачным фоном .png, также добавил его к основному PB — PictBox.Controls.Add(Status), но вместо ожидаемой мной прозрачности, PB который был наложен сверху просвечивает основной PB аж до фонового изображения, игнорируя при этом видеопоток, и в итоге вместо того, чтобы наблюдать за видео и видеть наложенный сверху статус, мы видим видео, на котором квадрат, просвечивающий до фона и нужное нам изображение статуса. Может кто знает, как с этим бороться?
Отслеживать
задан 20 ноя 2022 в 6:53
Walter Dornez Walter Dornez
13 3 3 бронзовых знака
pictureBox.BackColor = Color.Transparent
20 ноя 2022 в 7:07
@Виктор Это уже было сделано. Это описано в основном сообщении
20 ноя 2022 в 7:10
20 ноя 2022 в 7:12
@Виктор Спасибо, гляну
20 ноя 2022 в 7:13
@Виктор Сделал по гайду новый элемент управления с отрисовкой, теперь отрисовывается правильно, но сам по себе уходит под PB, пытался исправить стандартными Drawing.BringToFront(), но не вышло, не знаете, как это победить?
20 ноя 2022 в 8:39
0
Сортировка: Сброс на вариант по умолчанию
Знаете кого-то, кто может ответить? Поделитесь ссылкой на этот вопрос по почте, через Твиттер или Facebook.
- c#
- winforms
picturebox поверх другого picturebox’a
Собственно есть два PB в которых по png картинки с прозрачными фонами. Но получается вот что.. .

Как решить проблему?
Дополнен 9 лет назад
Лучший ответ
Да неважно на чем, хоть на Visual Basic
Проблема в том, что каждый компонент на форме не знает что существуют
другие компоненты. Он прорисовывает фон своего родительского контейнера
( в вашем случае — формы) .
Есть три варианта решения:
1. Задать форме фоновое изображение и разместить на ней другие компоненты.


2. Добавлять компоненты в коллекцию того контейнера, в который помещено изображение.
Добавлять можно динамически во время выполнения программы.
(Пример приведен на VB .NET, перевести в C# можно конвертером кода)
3. Выводить текст используя графические методы.
Помощь оказана, проблема решена? 🙂
Как перемещение по отдельности нескольких изображений внутри PictureBox?
Есть PictureBox, который отображает некий фон и нужно создать ещё картинки поверх этого фона, но которые можно будет двигать потом по нажатию кнопки мышки в пределах фона (PictureBox). Проблема в том, что если создать только один PictureBox, где будет и фон, и картинки, которые будет отрисовывать метод DrawImage, тогда нельзя будет их по отдельности двигать относительно фона. Был ещё вариант каждый раз создавать PictureBox в котором картинка и двигать его. Может есть какой-то простой способ или самый простой это несколько PictureBox?
- Вопрос задан более трёх лет назад
- 152 просмотра