问题描述
问题:m_bufGrap.Graphics.DrawString(str2,drawFont,drawBrush,20.0F,30.0F)未处理的“System.ArgumentException”类型的异常出现在System.Drawing.dll中。其他信息:参数无效。代码:DimdrawFontAsNewFont("Arial",16)DimdrawBrushAsNewSolidBrush(Color.Blue)Dimstr2AsString="abc"m_bufGrap.Graphics.DrawString(str2,drawFont,drawBrush,20.0F,30.0F)用VB.NET2005开发,在开发的电脑上无问题。可换一台电脑(都是XP系统)上确有上叙异常。各个参数都测试好几便。估计是系统中某部分有问题,可不知道如何着手查。烦请各位帮忙,在次不盛感激!!!
解决方案
解决方案二:
20.0F,30.0F是什么像素不应该是整数吗,怎么是浮点数
解决方案三:
那是绘制位置。net中可以用浮点坐标。
解决方案四:
用浮点坐标没有意义,最小单位就是像素,像素是整数的另外,检查下目标机器是否有对应的字体库,是否设置的字体在另一台XP里没有安装
解决方案五:
系统存在该字体,并且字体创建也是成功的。
解决方案六:
使用该字体在该软件的另一个Picture控件中绘制字符串没有异常。所以猜测字体没有问题,画涮也没问题。是否BufferedGraphics类有问题(dimm_bufGrapasBufferedGraphics)?有人能救我吗!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
解决方案七:
不行在目标机器上安装VS断点调试吧
解决方案八:
已经在目标机器上安装VS呀,上面的错误信息就是调试出来的呀。不过真没有发现有错误。是不是安装的.NetFrameWork2.0有问题呀。
解决方案九:
我的软件以前也有个别客户端反应这个问题,后来他重装系统就好了,再后来又出现,听客户说好像是分辨率改过就又好了.由于我责任心比较差,没深入研究
解决方案十:
一共五个参数一个一个试试呗先看看补丁打了没
解决方案十一:
可能是其它地方影响的,你给出的代码判断不出问题再哪里。看看这些有帮助没?
解决方案十二:
检查字串是不是nothing,如果是nothing就报错。
解决方案十三:
很感谢各位热心帮助把下面代码去掉就没有问题了:m_bufGrap.Graphics.CompositingMode=Drawing2D.CompositingMode.SourceCopy具体什么原因还没搞懂