2009-10-21 4 views
0

그림을 배경으로 배경에 배치했습니다.레이블의 배경을 투명하게 설정하십시오.

protected override void OnPaintBackground(PaintEventArgs e) 
    { 

     e.Graphics.DrawImage(bmp, 0, 0); 
    } 

그 후 나는 폼 위에 레이블을 붙이고 백 컬러를 투명으로 설정했지만 작동하지 않습니다. 어떻게 레이블 backcolor의 투명도를 얻을 수 있습니까?

+0

.NET Compact Framework for Mobile Windows Form 용이라고 가정합니다. –

답변

3

System.Windows.Forms의 지원되지 않는 기능을 사용하기 때문에 이전 대답은 .NET CF에서 작동하지 않습니다. Windows Mobile에서는 창 (또는 컨트롤)이 투명한 배경을 가질 수 없기 때문에 배경색을 투명하게 설정하는 것은 무시됩니다.

.NET CF의 경우 일반적으로 상위 컨트롤이나 창 상단에 사용자 고유의 텍스트를 그려야합니다. 아마도 내가 가장 좋아하는 예제는 원래 Alex Yakhnin이이 블로그에 제안한 것입니다. - http://blog.opennetcf.com/ayakhnin/PermaLink,guid,34221459-8db8-41ef-91c7-5514eade8fca.aspx

이론에 따르면 양식에 표준 레이블 컨트롤을 배치하여 크기를 조정하고 올바르게 배치 할 수 있습니다. 그런 다음 Visible을 설정합니다. 속성을 false로 설정합니다. 그런 다음 부모 컨트롤이나 폼의 OnPaint 이벤트 처리기에 코드를 추가하여 숨겨진 레이블 컨트롤에있는 위치, 크기 및 글꼴 정보를 사용하여 텍스트의 상당 부분을 그립니다.

+1

죽은 링크가 죽었습니다 : ( – OldTinfoil

관련 문제