2013-06-14 2 views
0

Я новичок, поэтому, пожалуйста, ответьте мне подробно, чтобы я смог это сделать. Я делаю простое приложение на визуальных основах 2010.Make Picturebox Transparent in Visual Basics 2010

У меня есть два ящика для картин в моей форме, один для фона, а другой - объект, который будет перемещаться ... Я должен сделать прозрачный прозрачный второй ящик. У меня есть png изображение, чтобы вставить на это поле, которое имеет прозрачный фон. Пожалуйста, помогите мне ..

+0

Существует несколько способов сделать это, но ваш вопрос слишком плохо документирован, чтобы дать рекомендацию. Если это какая-то анимация, то наиболее вероятным шансом для успеха является не использование 2 pbs, а просто использование события Paint для рисования изображения. –

+0

да это анимация, но. Я не знаю о событии краски. Я создал фон с picturebox, потому что фон также должен двигаться. то я вставляю объект с полем изображения, но он не прозрачен. –

+0

Ну, у вас есть возможность сосредоточиться на этом. Очень хорошо освещенный в любой вводной книге или достойном учебнике по программированию Winforms, нет смысла повторять это здесь. –

ответ

0

Здесь важно, чтобы родитель. Вы можете загрузить прозрачную картинку в PictureBox (Примечание: вы также можете загрузить BMP-файл). Вы можете определить любой цвет как прозрачный. См. Изображение.

В этом проекте:

Родитель Panel1 является Form1.

Родитель PictureBox1 является Panel1.

Родитель PictureBox2 является PictureBox1.

Родитель PictureBox3 является Form1. Sample Project

Если вы сделаете 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 
... 

Надежда, это помогает.