Перейти к содержимому

Как сделать один picturebox поверх другого c

  • автор:

Как сделать один 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 просмотра

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *