我有一个包含用户控件的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)));
}
还有一些代码,现在可能不重要了。所以当我启动程序时它会绘制红色矩形。所有变量(laenge、leerzeichen、hoehe)在程序开始时都设置为 0。现在,当我按下按钮时,变量正在改变,但 OnPaint 不绘制新的矩形?可能是什么问题呢?我必须以某种方式调用 OnPaint 吗?
最佳答案
更改变量后,您需要调用Invalidate()
(它内部调用OnPaint
)
关于c# - OnPaint 不更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14274439/