2013-04-28 3 views
2

이것은 내가 가지고있는 정말 간단한 문제이지만 내 인생에서 나는 제대로 작동하지 않는 것 같습니다. 나는 라운드를 보았지만 제대로 작동하려면 비슷한 솔루션을 얻을 수 없었습니다.VB.NET 컨트롤 위의 텍스트 그리기

기본적으로, 나는 B와 함께,이 개 간단한 양식에 패널하는 & B를 가지고는 A의 안에 중첩되는

* 참고, 패널 A는 배경 이미지를 가지고 있으며, 두 패널은 색상 설정 *의 t transparen하는

내가 패널 B의 내부 문자열을 그리려하고 표시 할 필요가, 그래서

내가 패널 B의 페인트 메서드를 재정 시도한 패널 A. 위에 그립니다, 그러나 그것은 작동하지 않습니다. 아래의 코드를 사용하는 경우 패널 B는

Private Sub panelB_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles panelB.Paint 

     e.Graphics.DrawString("My Text", New Font("Arial", 60, FontStyle.Regular), Brushes.Orange, New Point(0, 0)) 
     panelB.Refresh() 
End Sub 

답변

1

(예 : 패널 A를 옆으로) 패널 A의 안에 중첩되지 않은 경우, 텍스트 그러나 당신은 할 수는 panel에 그리기 아무 문제가 없습니다 화면에 그립니다 페인트 이벤트에서 Refresh으로 전화하십시오 - 무한 루프와 같으므로 아무 것도 그릴 수 없습니다. 새로 고침은 페인트 이벤트를 발생시킵니다.

+0

깜박임 만 멈추기 때문에 유용합니다. 그러나, 그것은 내 주요 문제에 영향을 미치지 않습니다. – sl133

+0

그래, 여기서 문제가 발생하지 않습니다. 투명 패널에 텍스트를 그릴 수 있습니다. Winforms에서 실현하면 여러 패널이 겹치는 경우 진정한 투명성이 없습니다. – OneFineDay

+0

나는 그것을 설명 할 다른 방법을 정말로 모른다. 패널 B가 Panel A의 맨 위에 있고, 패널 B의 paint 메소드의 텍스트가 보이지 않습니다. – sl133