从计时器刻度处理程序重绘表单

时间:2016-08-26 08:58:36

标签: c# .net winforms

我在控制台应用程序中开发了应用程序。我想在另一个方法中调用mainform函数。我试过,但错误抛出 “错误2'System.Drawing.Graphics'是'类型',但用作'变量'”

private void MainForm_Paint(object sender, PaintEventArgs e)
{
    Render_Plot(e.Graphics, 0); 
}

private void timer1_Tick(object sender, EventArgs e)
{
    Render_Plot(Graphics, 0); //Error--how to call render_plot function here
}

2 个答案:

答案 0 :(得分:2)

您似乎正在尝试从错误的点开始解决问题。

没有必要从计时器调用绘图方法,因为它已经从Paint方法调用。

所有你需要的 - 只是使用this.Invalidatethis.Refresh从计时器重绘你的表单(第一个只是标记重绘的形式,所以表格将在可能时重新绘制,第二个立即尝试重绘):

private void timer1_Tick(object sender, EventArgs e)
{
    this.Refresh();
}

答案 1 :(得分:1)

你没有,你打电话给Invalidate会重新呈现它(因此调用Paint

private void timer1_Tick(object sender, EventArgs e)
{
    Invalidate()
}