C# PictureBox on top of another PictureBox

前端 未结 2 1145
甜味超标
甜味超标 2021-01-21 07:50

I want the pbGrade to be on top of pbItemtype (pb = picture box)

 pbItemtype.BackColor = Color.Transparent;

 // Change parent for over         


        
2条回答
  •  庸人自扰
    2021-01-21 08:33

    Best approach is to construct the image with overlays off-line in a Bitmap object, then assign that constructed image to the PictureBox for display.

    For example like this:

    int width = 100;
    int height = 100;
    Image image = new Bitmap(width, height);
    
    using (var graphics = Graphics.FromImage(image))
    {
        graphics.DrawImage(MyApplication.Properties.Resources.ImageItemX, new Rectangle(0, 0, width, height));
        graphics.DrawImage(MyApplication.Properties.Resources.ImageGradeZ, new Rectangle(0, 0, width, height));
    }
    
    myPictureBox.SizeMode = PictureBoxSizeMode.Zoom;
    myPictureBox.Image = image;
    

    This assumes that ImageItemX and ImageGradeZ are images with a transparent background (for example pngs) imported as project resources under these names.


    For example given these resources

    the code will produce this:

提交回复
热议问题