从AxMSChart复制图象到剪贴板然后在粘贴到PictureBox,出现错误,请帮忙,代码如下:
AxMSChart1.EditCopy() '复制图象到剪贴板,手工在EXCEL中可以粘贴
Dim data As IDataObject '声明
data = Clipboard.GetDataObject() '这句出错
If (data.GetDataPresent(DataFormats.Dib)) Then
Me.PictureBox1.Image = data.GetData(DataFormats.Dib)
End If
错误信息如下:
检测到 FatalExecutionEngineError
Message: 运行库遇到了错误。此错误的地址为 0x7a005c3d,在线程 0xc98 上。错误代码为 0xc0000005。此错误可能是 CLR 中的 bug,或者是用户代码的不安全部分或不可验证部分中的 bug。此 bug 的常见来源包括用户对 COM-interop 或 PInvoke 的封送处理错误,这些错误可能会损坏堆栈。
------解决方法--------------------------------------------------------
If Clipboard.ContainsImage() Then
Me.pictureBox1.Image = Clipboard.GetImage()
End If
------解决方法--------------------------------------------------------
你这是多线程的?
试试单线程有没有问题先,如果有,试试设置一下权限
------解决方法--------------------------------------------------------
picture1.image=my.Computer.Clipboard.GetImage
------解决方法--------------------------------------------------------
首先你要看看pictureBox1.Image在界面设计中都支持什么样的属性,在windows中基本是支持位图的格式。
如此: If (data.GetDataPresent(DataFormats.bitmap)) Then
/*声明一个图象格式的引用,然后将当前的接口引用声明转化为图象格式的类声明*/
// dim objImage as System.drawing.image
// Me.PictureBox1.Image = data.GetData(DataFormats.Dib)
End If
同时在类型转化的时候clipboard中获取的对象是否为nothing并不知晓,这样的模块应在try-catch中运行。
像这种操作基本是要获悉当前的线程,并将控制权移交给要粘贴的程序线程。
同时在2.0安装的时候也要小心了。
在数据加入