面板上的刷新图像创建无限循环(C# - Winforms)
Refreshing image on panel creates infinite loop (C# - Winforms)
我在刷新面板和表单上的图形时遇到问题。
当我绘制图像时它工作正常但是当我想使用 Panel.Refresh 将其替换为另一个图像时它会使事件处理程序自动激活自己而不会结束。如果我使用 Panel.Update 它只会将第二张图片绘制到第一张图片上。很多人建议我使用 Invalidate 方法,但它有同样的无限循环问题。
Bitmap bitmap = new Bitmap(Resources.Image1);
private void panel1_Paint(object sender, PaintEventArgs e)
{
if (parameter == 0) { bitmap = new Bitmap(Resources.Image1); }
if (parameter >= 2) { bitmap = new Bitmap(Resources.Image2); }
e.Graphics.DrawImage(bitmap, 60, 10);
panel1.Refresh();
}
panel1.Refresh();
导致绘画事件触发。我把刷新代码放在参数值改变的地方。
我在刷新面板和表单上的图形时遇到问题。 当我绘制图像时它工作正常但是当我想使用 Panel.Refresh 将其替换为另一个图像时它会使事件处理程序自动激活自己而不会结束。如果我使用 Panel.Update 它只会将第二张图片绘制到第一张图片上。很多人建议我使用 Invalidate 方法,但它有同样的无限循环问题。
Bitmap bitmap = new Bitmap(Resources.Image1);
private void panel1_Paint(object sender, PaintEventArgs e)
{
if (parameter == 0) { bitmap = new Bitmap(Resources.Image1); }
if (parameter >= 2) { bitmap = new Bitmap(Resources.Image2); }
e.Graphics.DrawImage(bitmap, 60, 10);
panel1.Refresh();
}
panel1.Refresh();
导致绘画事件触发。我把刷新代码放在参数值改变的地方。