В Windows Forms вы не можете сделать это напрямую. Вы можете работать с BackgroundImage
.
Попробуйте это:
void TransparetBackground(Control C)
{
C.Visible = false;
C.Refresh();
Application.DoEvents();
Rectangle screenRectangle = RectangleToScreen(this.ClientRectangle);
int titleHeight = screenRectangle.Top - this.Top;
int Right = screenRectangle.Left - this.Left;
Bitmap bmp = new Bitmap(this.Width, this.Height);
this.DrawToBitmap(bmp, new Rectangle(0, 0, this.Width, this.Height));
Bitmap bmpImage = new Bitmap(bmp);
bmp = bmpImage.Clone(new Rectangle(C.Location.X+Right, C.Location.Y + titleHeight, C.Width, C.Height), bmpImage.PixelFormat);
C.BackgroundImage = bmp;
C.Visible = true;
}
и в Form_Load:
private void Form1_Load(object sender, EventArgs e)
{
TransparetBackground(label2);
}
и вы можете увидеть этот результат:
Если предположить Winforms: Печальная правда состоит в том __This является не возможно .__ (Если вы не владеете - нарисуйте его - и даже тогда только для простых случаев, подобных вашим ..) – TaW
http://stackoverflow.com/questions/25948454/how-to-set-background-color-to-transparent-for-a-richtextbox-in-c-sharp/25948758#25948758 –