본문 바로가기
C#

C# Winform Label 배경 투명하게 처리하기 (UserControl 위에 Label이 표시될 경우)

by 따봉이 2022. 1. 26.
728x90
반응형

 

배경을 투명으로 처리하려면 BackColor을 Color.Transparent로 지정해주면 됩니다. 

먼저 Label이 PictureBox 위에 왔을 때 Label의 배경이 투명하게 처리되는 코드입니다. 

다음과 같습니다.

반응형
label1.Parent = pictureBox1;
label1.BackColor = Color.Transparent;
//부모가 pictureBox1로 지정되면서 로케이션을 새로 지정
label1.Location = new Point(0, 0);

 

결과
728x90

PictureBox 위에 Label표시

 

그런데 UserControl 위에 Label을 같은 방법으로 올리면 먹히질 않습니다. 

UserControl을 한개 생성하고 그위에 Label을 얹고 실행하면

 

Label이 PictureBox 뒤에 숨음

 

이것은 Label을 UserControl로 지정했기 때문인데 이때는 정확하게 UserControl안에 Picturebox로 지정해줘야합니다. 

UserControl안에 Picturebox는 디자이너에서 Private로 선언되어 있기 때문에 디자이너파일에서 해당 Picturebox를 Public로 바꿔주고 Label의 부모로 지정해줍니다. 

 

label1.Parent = pic1.pictureBox1;
label1.BackColor = Color.Transparent;
label1.Location = new Point(-100, 0);

 

결과

 

UserControl 안에 Picturebox 위에 Label 배경 투명처리

728x90
반응형

댓글