c# 桌面飘雪程序 在窗体重绘 无法在form_paint 事件中手动释放 Graphics对象

c#桌面飘雪程序在窗体重绘的时候form_paint事件中为什么用完Graphics对象手动调用dispose()函数释放后会提示运行会出现参数错误这是为什么privat... c# 桌面飘雪程序 在窗体重绘的时候 form_paint事件中 为什么用完Graphics 对象 手动调用dispose()函数释放后会提示 运行会出现参数错误 这是为什么
private void OnTick(object sender, EventArgs args)
{
Tick++;
if (Tick % 3 == 0 && Random.NextDouble() < 0.70)
{
SnowFlake s = new SnowFlake();
s.X = Random.Next(-50, Width + 50);
s.Y = Random.Next(-20, -7);
s.XVelocity = (float)(Random.NextDouble() - 0.5f) * 2f;
s.YVelocity = (float)(Random.NextDouble() * 3) + 1f;
s.Rotation = Random.Next(0, 359);
s.RotVelocity = Random.Next(-3, 3) * 2;

if (s.RotVelocity == 0)
{
s.RotVelocity = 3;
}

// s.Scale = (float)(Random.NextDouble() / 2) + 0.75f;
s.Scale = (float)(Random.NextDouble() / 2) + 0.5f;
SnowFlakes.Add(s);
}

//需要移除的雪花。
List<SnowFlake> del = new List<SnowFlake>();
foreach (SnowFlake s in SnowFlakes)
{
s.X += s.XVelocity;
s.Y += s.YVelocity;
s.Rotation += s.RotVelocity;
s.XVelocity += ((float)Random.NextDouble() - 0.5f) * 0.7f;
s.XVelocity = Math.Max(s.XVelocity, -2f);
s.XVelocity = Math.Min(s.XVelocity, +2f);

if (s.Y > Height - 50)
{
del.Add(s);
// SnowFlakes.Remove(s);
}
}

//删除
foreach (SnowFlake s in del)
{
SnowFlakes.Remove(s);
}

//刷新
Refresh();
}
private void MainForm_Paint(object sender, PaintEventArgs e)
{
// 绘制满天飞舞的雪花。
Graphics g = e.Graphics;
g.SmoothingMode = SmoothingMode.AntiAlias; //高速绘制,可以视硬件情况改为高质量绘图。
foreach (SnowFlake s in SnowFlakes)
{
g.ResetTransform();
g.TranslateTransform(-16, -16, MatrixOrder.Append); //平移
g.ScaleTransform(s.Scale, s.Scale, MatrixOrder.Append); //缩放
g.RotateTransform(s.Rotation, MatrixOrder.Append); //旋转
g.TranslateTransform(s.X, s.Y, MatrixOrder.Append); //平移
g.DrawImage(Snow, 0, 0); //绘制
}
// g.Dispose(); //这里释放会出错
}
}
}
展开
 我来答
百度网友867d2cdbe
2010-11-22 · TA获得超过184个赞
知道小有建树答主
回答量:185
采纳率:0%
帮助的人:175万
展开全部
Dispose()方法应该是针对New对象用的吧.
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式