#winforms #c -cli #picturebox
#winforms #c -cli #графическое поле
Вопрос:
Мне очень, очень нужна ваша помощь. Мой проект следующий.
У меня есть a pictureBox1
, который является родительским для всех других pictureBoxes
, которые я создаю с помощью array. Они pictureBoxes
меньше, чтобы я мог перемещать их по pictureBox1
.
Для каждого вновь созданного pictureBox
я устанавливаю следующие свойства:
PB[i]->Parent = pictureBox1
PB[i]->BackColor = Color::Transparent
В то же время я установил для них PNG-файл, backcolor
который также прозрачен.
При одном pictureBox
включении pictureBox1
все в порядке. Но когда два или более pictureBoxes
расположены вместе, они просто блокируют содержимое друг друга. Я пытался вывести на передний план, но это не сработало. Который pictureBox
находится сверху, он блокирует pictureBox
под ним.
Как я могу установить или сделать взаимную прозрачность для pictureBoxes
, в то время как их родительский элемент один pictureBox1
?
Комментарии:
1. Вы не можете. PictureBox — один из самых расточительных элементов управления, наряду с Label, который сжигает все окно для замены одной строки кода. Удобство наведения курсора мыши, вот и все. Используйте Graphics::drawImage(), это решает вашу проблему, поскольку накладывает слой paint.
2. Если вам разрешено, попробуйте это с WPF, это может решить вашу проблему.
3. Ханс Пассант благодарит. Это хорошая идея. Это то, чего я хотел.