首页 新闻 会员 周边 捐助

光标切换时,出现错误,说是GDI一般性错误

0
悬赏园豆:50 [已解决问题] 解决于 2014-12-07 10:10

我的目标是这样的:在鼠标移动时变换鼠标光标为自己添加的位图,并在位图上画出坐标点,然后把变化后的位图作为光标显示。结果如果鼠标移动太快的话,就出现了错误,并且伴随着内存增加。代码如下:

 1             bmpCursor = global::XRF.Properties.Resources.Cross3;//作为光标的位图
 2             Graphics g = Graphics.FromImage(bmpCursor);
 3             Brush brush = new SolidBrush(Color.Black);
 4 
 5             g.DrawString( (int)pf.X+"\r\n"+pf.Y, new Font(FontFamily.GenericSansSerif, 80f), brush, new PointF(0f, 0f));//在位图上画坐标点数值
 6 
 7             IntPtr hIcon = bmpCursor.GetHicon();
 8             pictureBox1.Cursor = new Cursor(hIcon);//设置光标
 9             
10             brush.Dispose();
11             g.Dispose();

我在做其他画图的程序时,发现操作图片的话,如果在循环中没有延迟的话,就会容易出错。通过测试也摸到一些轨律,但是不知道原因是什么?

deeeeeed的主页 deeeeeed | 初学一级 | 园豆:6
提问于:2014-09-09 17:19
< >
分享
最佳答案
0

感觉你要做像是 截图工具类的东西,把位图做成用户控件A 上面摆上label,鼠标移动A跟着,同时改变A的内容,如果你不想要光标可以把光标hide

收获园豆:25
戴眼镜的杀手 | 菜鸟二级 |园豆:240 | 2014-09-10 10:06
其他回答(3)
0

好像光标资源是有使用限制的。 

此外,你在读取图片的时候是否稳定?能否把这些图片都放内存?

收获园豆:10
519740105 | 园豆:5810 (大侠五级) | 2014-09-09 18:31
0

try一下就好了

收获园豆:5
刘宏玺 | 园豆:14020 (专家六级) | 2014-09-09 21:26
0

记录一下异常信息,可以找找类似问题的解决方案.

收获园豆:10
晓菜鸟 | 园豆:2594 (老鸟四级) | 2014-09-10 14:45
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册