如何将 EventArgs 转换为 PaintEventArgs,C#

How can I convert EventArgs to PaintEventArgs, C#

我想在调用 MCU_timer_Tick() 时调用 OnPaint()。 我该怎么办?

    private void MCU_timer_Tick(object sender, EventArgs e)
    {
        ...
    }
    protected override void OnPaint(PaintEventArgs e)
    {
      Graphics g = e.Graphics;

      int width = 30;
      int x, y;
      x = 150;
      y = 530;
      double color_max;
      color_max = 255;
      SolidBrush aBrush_1 = 
        new SolidBrush(Color.FromArgb(100, 255, 
        (int)(255 * color_map[0] / color_max), 0)); //color_map[0] is real value
      g.FillEllipse(aBrush_1, x-100, y, width * 2, width);

Tick 事件中调用 this.Invalidate()。这最终将使 Paint 事件发生。

private void MCU_timer_Tick(object sender, EventArgs e)
{
    this.Invalidate();
}

其中 this 指的是 Control。通常是 Form.