2013-01-10 1 views
0

패널 상속 된 클래스 인 Canvas 클래스가 onPaint 메서드를 재정의합니다.패널에서 그래픽이 제거되지 않도록하려면 어떻게해야합니까?

내 프로그램은 다음과 같습니다

enter image description here

그것은 좋은 모두 작동하지만이 최소화 될 때 \, 캔버스의

은 "숨겨진"부분이 삭제 된 캔버스 크기를 조정합니다. onPaint 메서드를 재정의해야한다는 것을 알았습니다.

하지만 무승부를 "유지"하기 위해 무엇을해야할지 모르겠다. 어떠한 제안?

+0

삭제 하시겠습니까 아니면 제대로 새로 고치지 않았습니까? – MethodMan

+0

글자의 크기가 변경되면 내용을 창에 다시 그려야합니다. http://msdn.microsoft.com/en-us/library/system.windows.forms.control.sizechanged(v=vs.80).aspx –

+0

@MatoKormuth 명시 적으로 onPaint를 재정의해야했습니다. – Billie

답변

1

CreateGraphics을 사용할 때 발생하는 문제에 대해 설명하고 있습니다. CreateGraphics을 사용하지 말고 PaintEventArgs 매개 변수의 그래픽 개체, 특히 e.Graphics을 사용하십시오.

+0

예외 – Billie

+0

@ user1798362 페인트 메서드에서 실행중인 코드를 보지 않으면별로 도움이되지 않습니다. 객체를 생성하지 않았기 때문에'e.Graphics' 객체를 파기하지 마십시오. – LarsTech

+0

좋아, 네가 옳은 걸 알았어. 고맙습니다. – Billie