Windows 양식에서 그래픽 작업을하고 있습니다. 그래픽 클래스 Grafika()
을 호출하는 양식 자체 (form1
)를 전달해야하므로 드로잉 중에 form1.CreateGraphics()
을 사용하여 특정 양식을 그릴 수 있습니다.그래픽에 인수로 양식 전달 C#
그래픽 클래스 Grafika
의 생성자는 다음과 같습니다
public Grafika(ref Form predan)
{
grafika=predan.CreateGraphics();
//drawing on the form
}
은 어떻게 사용할 수 있도록 Grafika
의 생성자에 양식을 통과?
는 그래픽 객체를 캐시하지 마십시오! – TaW
'CreateGraphics'를 호출하는 코드는 99.9 %가 잘못 될 가능성이 있습니다. 이것이 예외라고 생각하는 이유는 없습니다. 모든 그림은'Paint' 이벤트에 대한 응답으로 수행되어야합니다.이 이벤트는 사용할 그래픽 객체를 제공합니다. –
e.Graphics 객체를 실제 드로잉을 수행하지만 거기에 저장하지 않는 메소드 나 클래스에 전달하는 것은 의미가 있습니다 (무효가 될 것입니다). 일시적으로 새로운 것을 생성하는 것은 물론 제대로 작동 할 것입니다. – TaW