OnPaint不会更新

Tim*_*ler 2 c# onpaint

我有一个包含用户控件的Windows窗体.此用户控件具有以下代码:

protected override void OnPaint(PaintEventArgs pe)
{
  base.OnPaint(pe);
  pe.Graphics.DrawRectangle(
       new Pen(Color.Red, 5 + laenge), 
       new Rectangle(
             new Point(50 + leerzeichen, hoehe), 
             new Size(laenge + 20, 20)));
}
Run Code Online (Sandbox Code Playgroud)

还有一些代码,现在可能并不重要.因此,当我启动程序时,它会绘制红色矩形.所有变量(laenge,leerzeichen,hoehe)在程序开始时设置为0.现在,当我按下按钮时变量正在变化,但是OnPaint不会绘制新的矩形?可能是什么问题呢?我是否必须以某种方式调用OnPaint?

Kam*_*ach 5

Invalidate()更改变量后需要调用(它调用OnPaintinternaly)