Здесь важно, чтобы родитель. Вы можете загрузить прозрачную картинку в PictureBox (Примечание: вы также можете загрузить BMP-файл). Вы можете определить любой цвет как прозрачный. См. Изображение.
В этом проекте:
Родитель Panel1 является Form1.
Родитель PictureBox1 является Panel1.
Родитель PictureBox2 является PictureBox1.
Родитель PictureBox3 является Form1.
Если вы сделаете PictureBox1 прозрачным, вы увидите, что он прозрачен только для Panel1 (который является родителем PictureBox1). Другими словами, вы можете увидеть фон Panel1 под прозрачным цветом.
Если вы сделаете PictureBox3 прозрачным, вы увидите, что он прозрачен только для Form1 (который является родителем PictureBox3). Другими словами, вы можете видеть фон Form1 под прозрачным цветом.
Вот почему, насколько я понимаю, в вашем проекте родителем PictureBox2 должен быть PictureBox1. Вы можете загрузить (или нарисовать) изображение для PictureBox1. Затем вы можете загрузить свою анимационную картинку в PictureBox2 с прозрачным цветом.
Пожалуйста, смотрите код ниже:
...
PictureBox2.BackColor = Color.Transparent
PictureBox2.Size = New Size(1042, 1474)
PictureBox2.Location = New Point(55, 0)
Dim bmp As Bitmap
bmp = (System.Drawing.Image.FromFile("empty.bmp"))
bmp.MakeTransparent(Color.FromArgb(255, 255, 255))
PictureBox2.Image = bmp
...
Надежда, это помогает.
Существует несколько способов сделать это, но ваш вопрос слишком плохо документирован, чтобы дать рекомендацию. Если это какая-то анимация, то наиболее вероятным шансом для успеха является не использование 2 pbs, а просто использование события Paint для рисования изображения. –
да это анимация, но. Я не знаю о событии краски. Я создал фон с picturebox, потому что фон также должен двигаться. то я вставляю объект с полем изображения, но он не прозрачен. –
Ну, у вас есть возможность сосредоточиться на этом. Очень хорошо освещенный в любой вводной книге или достойном учебнике по программированию Winforms, нет смысла повторять это здесь. –