【资料图】
C#自定义控件GDI绘制在主程序报错System.ArgumentException;
我的绘制图片内容大概如下:
private Bitmap backGroundImage=null;private Bitmap prospectImage=null;private Graphics graphics = null;////// 在背景上画前景/// private void drawProspect(){ try { if(prospectImage!=null) //注释 prospectImage.Dispose(); //注释 prospectImage = backGroundImage.Clone() as Bitmap; using (graphics = Graphics.FromImage(prospectImage)) { //画你所需要的内容 } pictrueBox1.Image=prospectImage; }catch(Exception ee) { }}
在线程高速(50ms以下一次)运行下就会随机报这个错 :
System.ArgumentException: 参数无效。.
在 System.Drawing.Image.get_Width() 在 System.Drawing.Image.get_Size() 在 System.Windows.Forms.PictureBox.ImageRectangleFromSizeMode(PictureBoxSizeMode mode) 在 System.Windows.Forms.PictureBox.get_ImageRectangle() 在 System.Windows.Forms.PictureBox.OnPaint(PaintEventArgs pe) 在 System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer, Boolean disposeEventArgs) 在 System.Windows.Forms.Control.WmPaint(Message& m) 在 System.Windows.Forms.Control.WndProc(Message& m) 在 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) 在 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) 在 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
这种错误连错在哪在代码哪一行都不知道,连try也无法捕捉到。
经过各种尝试,发现我不写释放prospectImage那两行代码时,就不会报这个错(就是上面代码中有注释的两行代码)。
但是这样的话,内存就会疯涨,不合理。于是就有了下面的解决方法:
private Bitmap backGroundImage=null;private Bitmap prospectImage=null;private Image prospectImageCpoy = null;private Graphics graphics = null;////// 在背景上画前景/// private void drawProspect(){ try { //if(prospectImage!=null) //注释 // prospectImage.Dispose(); //注释 prospectImage = backGroundImage.Clone() as Bitmap; using (graphics = Graphics.FromImage(prospectImage)) { //画你所需要的内容 } prospectImageCpoy = pictureBox1.Image;//保存上一次的图片 pictureBox1.Image = prospectImage;//覆盖上一次的图片 prospectImageCpoy.Dispose();//释放上一次的图片 }catch(Exception ee) { }}
内存不再疯涨了,运行也稳定了,完美解决。
近日,应急管理部印发了《矿山救护队标准化定级管理办法》(以下简称《定级办法》)。为落实好《定级办法》,现解读如下: 一、制定背更多
2023-01-11 10:07:48美国煤炭价格从历史高点大幅下跌,原因是暖冬天气缓解了对化石燃料需求。数据显示,截至1月6日当周,北部阿巴拉契亚地区的煤炭价格跌至每更多
2023-01-11 10:08:571月8日,2023年能源经济预测与展望研究系列报告发布。报告显示,2022年中国能源经济稳步回升,2023年能源经济走势向好。 最新发布的《更多
2023-01-11 09:57:50日前召开的全国矿山智能化建设和安全发展推进视频会透露,2020年八部委联合印发《关于加快煤矿智能化发展的指导意见》和全国煤矿智能化建更多
2023-01-11 10:12:061月6日,2022中国十大经济年度人物颁奖盛典在北京举行。中国梦杯•中国经济新闻人物——2022十大经济年度人物评选是由中国经济传媒协会主更多
2023-01-10 11:15:291月8日,船舶在黄骅港码头装运煤炭。黄骅港煤炭堆场转运设备在作业(1月8日摄,无人机照片)。 位于河北沧州的黄骅港是西煤东运、北煤南运更多
2023-01-10 10:12:461月7日,2022年煤矿智能化重大进展发布会在京召开。本次发布会旨在展示交流2022年煤矿智能化科技创新和建设成果,总结推广经验,发挥先进更多
2023-01-10 10:16:42记者从1月5日召开的2023年全区能源工作会议上获悉,2023年,我区将继续肩负起保障国家能源安全的重大政治责任,全力以赴保障能源安全稳定更多
2023-01-10 10:00:38据中国煤炭工业协会统计与信息部初步统计,2022年,全国原煤产量超5000万吨企业15家,与去年持平。产量合计约为259亿吨,较去年增加约13亿更多
2023-01-10 09:55:092022年,虽然受到国际能源市场持续紧张、高温干旱暴雨极端天气、疫情扰动以及输入性通胀等因素影响,但是在政策调控和市场机制的配合下,更多
2023-01-10 10:15:31