我使用“CreateGraphics()”在面板上绘制了几个矩形。尽管它们在最小化和恢复窗口后总是消失,但我使用了绘制事件来恢复它们并且一切正常,总是使用'CreateGraphics()。
有时,Hans Passant 先生给了我建议,用面板的绘制事件来替代“CreateGraphics()”。在我看来,“绘画”事件也用于创建,而不仅仅是 4 恢复。
... 一般来说,不要使用 CreateGraphics(),无论你画什么都不会存活。例如,最小化和恢复您的窗口。请改用面板的 Paint 事件。– 汉斯·帕桑特 7 月 3 日 12:47
我试过了,但我没有成功。我总是需要“CreateGraphics”来初始化指向“Graphics”类的指针并使用“drawRectangle”方法:
System::Drawing::Graphics ^drawPointer = CreateGraphics();
之后你创建矩形
drawPointer->drawRectangle(...);
但是进入面板的“paint-event”,如何在不使用“CreateGraphics()”的情况下达到“drawRectangle”方法?还是我以错误的方式获得建议?