如何通过Timer Tick在System :: Drawing :: Graphics上绘制

时间:2017-01-14 06:53:22

标签: winforms visual-c++ c++-cli

我在PictureBox上创建了Graphics^ g。我可以在MyForm_LoadButton_Click等事件中绘制,但不能在Timer_Tick中绘制。它没有画任何东西:

System::Void timer1_Tick(...) {
    g->Clear(Color::White);
    Pen^ pen = gcnew Pen(Color::Black, 1);
    g->DrawLine(pen, 10, 10, 30, 50); // of course values may change
}

如何解决问题?

1 个答案:

答案 0 :(得分:0)

要立即显示图形,请刷新创建图形的对象。例如,如果创建的图形类似于func windowDidResize(_ notification: Notification) { // Listen to a window resize event } ,请使用g = Graphics::FromImage(pictureBox1->Image);