最近改个旧winform项目,总是报“参数无效”,而且都是在Program.cs 的Application.Run()报错。
具体错误没有,只说是System.Drawing.Image.get_RawFormat引发的,也没说是哪行代码导致的,这就很麻烦了。
网上找了下,改了发现不管用
c# bitmap和new bitmap(bitmap)及在System.Drawing.Image.get_RawFormat()报错“参数无效”
只能一个一个排查,然后发现是执行多次 Dispose(); 导致的。当 PictureBox.Image.Dispose();执行多次时就会报错。
调用Dispose(); 后赋值为null;
再判断是不是null,从而避免重复.Dispose();
正常来说多次重复.Dispose();应该是没问题的,但代码太乱,跟别的地方联动导致的吧,具体就不再探究了。