首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

100分从Clipboard复制图象到PictureBox出现异常,什么原因?

2012-03-20 
100分求助从Clipboard复制图象到PictureBox出现错误,什么原因???????????从AxMSChart复制图象到剪贴板然后

100分求助从Clipboard复制图象到PictureBox出现错误,什么原因???????????
从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安装的时候也要小心了。

在数据加入

热点排行