如何将 EventArgs 转换为 PaintEventArgs, C#

本文关键字:PaintEventArgs 转换 EventArgs | 更新日期: 2023-09-27 18:36:46

我想在调用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);

如何将 EventArgs 转换为 PaintEventArgs, C#

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

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

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