<分区>
我希望 pbGrade
位于 pbItemtype
之上(pb = 图片框)
pbItemtype.BackColor = Color.Transparent;
// Change parent for overlay PictureBox...
pbItemtype.Parent = pbGrade;
我已经试过了,但是 pbItemtype 甚至没有出现,而且 2 个图片框改变了图像(pbItemtype 和 pbGrade)
标签 c# winforms picturebox
<分区>
我希望 pbGrade
位于 pbItemtype
之上(pb = 图片框)
pbItemtype.BackColor = Color.Transparent;
// Change parent for overlay PictureBox...
pbItemtype.Parent = pbGrade;
我已经试过了,但是 pbItemtype 甚至没有出现,而且 2 个图片框改变了图像(pbItemtype 和 pbGrade)
最佳答案
其实你可以很容易地做到这一点,而且事实上你已经做到了。
代码有效但是您还需要更正Location
,因为嵌套的PB 会将其保留在前一个,因此可能会偏离右下角,可能会离开新 Parent
的可见大小....:
pbItemtype.BackColor = Color.Transparent;
// Change parent for overlay PictureBox...
pbItemtype.Parent = pbGrade;
// Move it to the top left of the parent:
pbItemtype.Location = Point.Empty; // or some other position..
透明度在嵌套 控件时效果很好。不过,当重叠它们时它不起作用!
(当然,我们看到的代码将不会交换图像!)
关于C# PictureBox 在另一个 PictureBox 之上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42047651/