다른 레이블 위에 레이블을 그려야합니다. 최상위 레이블의 배경색은 투명합니다. 하단 레이블의 배경색을보고 싶습니다. 두 가지 레이블이 모두있는 양식의 배경색이 아닙니다. 현재 레이블을 투명으로 설정하면 투명한 레이블 뒤에있는 모든 컨트롤을 폼 배경으로 바로 볼 수 있습니다. How to create a transparent control which works when on top of other controls?투명한 레이블을 그 뒤에 레이블을 만들지 않고 그리는 방법
내 문제는 부모가 항상 null 점이다 :
나는 takrl이 질문에 대한 그의 대답과 같이 내가의 OnPaint 메서드를 재정의하고 투명 아무것도 그리기 건너 뜁니다 무엇을해야하는지 생각합니다. VB.Net의 OnPaint 메서드에서 부모 컨트롤을 어떻게 찾을 수 있습니까?
Protected Overrides Sub OnPaint(e As PaintEventArgs)
End Sub
편집 1
: 내가 10 평판이 없기 때문에 나는 사진을 게시 할 수 없습니다. 다른 많은 레이블 인 lblBorder를 둘러싼 레이블이 있습니다. lblBorder는 마우스가 입력 될 때를 제외하고 항상 보이지 않습니다. 이것은 형광펜의 한 유형으로 작용합니다. lblBorder 또는 lblBorder 안에있는 모든 레이블을 클릭하면 메뉴가 나타납니다.
부모가 null이면 어쨌든 컨트롤을 볼 수 없습니다. null을 확인하십시오. – LarsTech
... 링크 된 첫 번째 코드 줄에서와 같이 :'if (Parent! = null) ... ' – Plutonix
투명도를 시뮬레이트하면 부모를 배경으로 그립니다. 그래서 폼을보고 싶지 않다면 레이블의 Parent가 맨 아래 레이블이어야합니다. 부모는 "항상 null"이 아니며, OnPaint에 이와 같은 코드를 넣지 마십시오. Label 컨트롤 대신에 OnPaint()에서 TextRenderer.DrawText()를 사용하면 투명 효과를 만드는 것이 현명한 방법이지만 레이블은 매우 낭비적인 포인트 앤 클릭 리소스입니다. –