C#新手 求助如何释放GDI资源 注释当中有详细错误

l1749819754 2016-12-17 10:44:11
public void SetCursor(Bitmap cursor, Point hotPoint)//修改鼠标图标
{
int hotX = hotPoint.X;
int hotY = hotPoint.Y;
myNewCursor = new Bitmap(cursor.Width * 2 - hotX, cursor.Height * 2 - hotY);//设置鼠标图标大小
g = Graphics.FromImage(myNewCursor);
g.Clear(Color.FromArgb(0, 0, 0, 0));
g.DrawImage(cursor, cursor.Width - hotX, cursor.Height - hotY, cursor.Width, cursor.Height);
this.Cursor = new Cursor(myNewCursor.GetHicon());
//引发的异常:“System.Runtime.InteropServices.ExternalException”(位于 System.Drawing.dll 中)其他信息: GDI + 中发生一般性错误。
g.Dispose();
myNewCursor.Dispose();

}

每次狂点鼠标就会有错误

这个程序是把鼠标图标改为其他 每次单击左键时一个样式,不单击时一个样式

有mousedown和mouseup事件
Bitmap a= (Bitmap)Bitmap.FromFile(tupianmulu + "hammer.png");
SetCursor(a, new Point(40, 40));

有计时器 每次开始时+=事件 结束时-=事件

计时器开始后瞬间狂点鼠标偶尔也会一样的错误


搜到http://bbs.csdn.net/topics/391994327?page=1 说不能用this.Cursor = new Cursor(myNewCursor.GetHicon()); 每次这样都新建 但是新手 不会修改程序 求帮忙
...全文
77 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧