2008-10-17 3 views
1

양식에 여러 개의 사용자 그려진 컨트롤이 있습니다. 불행히도 양식이 표시 될 때 사용자가 그려진 컨트롤이 현재 양식 배경이 아닌 이전 양식 배경을 보여줍니다. 내가 표시되는 투명성으로 현재의 배경을 얻는 방법사용자 그려진 컨트롤이 이전 양식 배경을 사용하고 있습니다.

protected override void OnPaint(PaintEventArgs pe) 
    { 
     pe.Graphics.DrawImageUnscaled(_bmpImage, 0, 0);    
    } 

    protected override void OnPaintBackground(PaintEventArgs pevent) 
    { 
     //Leave empty... 
    } 

, 오히려 :

이 같이

...의 OnPaint 이벤트는 매우 간단하고, OnBackgroundPaint 이벤트가 비어 있습니다 이전 양식의 배경보다?

답변

1

창 스타일을 설정해야합니다. 여기에 nice basic article입니다.

+0

정확하게 내가 빠진 것이 무엇인지. 감사! – user29140

1

배경에 대해 아무 것도 수행하지 않는 OnPaintBackground 메서드를 재정의하는 것처럼 보입니다. 비워두기 때문에 우선 무시해야합니다. 기본 OnPaintBackground 처리기를 처리하도록 설정하면 어떻게됩니까? 현재 컨트롤의 배경을 자동으로 그려야하지 않습니까?

P. 나는 커스텀 페인팅과 닷넷 컨트롤로 일한 적이 없다. 나는 그저 당신의 문제에 대한 해결책을 찾을 수 있도록 돕기 위해 추측하고 있습니다. 제가 제안하는 것이 완전히 벗어난 것이라면 용서하십시오 ...

관련 문제