如何通过 Timer Tick 在 System::Drawing::Graphics 上绘制
How to draw on System::Drawing::Graphics by a Timer Tick
我在 PictureBox 上创建了 Graphics^ g
。我可以在 MyForm_Load
、Button_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
}
如何解决问题?
要立即显示绘图,请刷新创建绘图的对象。例如,如果绘图的创建类似于 g = Graphics::FromImage(pictureBox1->Image);
,请使用 pictureBox1->Refresh();
我在 PictureBox 上创建了 Graphics^ g
。我可以在 MyForm_Load
、Button_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
}
如何解决问题?
要立即显示绘图,请刷新创建绘图的对象。例如,如果绘图的创建类似于 g = Graphics::FromImage(pictureBox1->Image);
,请使用 pictureBox1->Refresh();