无法将类型为“System.Drawing.Bitmap”的对象强制转换为类型“System.ComponentModel.IContainer”。

BulletShi 2017-02-14 08:15:49
Private _docement As DocementBase
'打印
Private Sub button3_Click(sender As Object, e As EventArgs) Handles button3.Click
If pictureBox1.Image Is Nothing Then
MessageBox.Show("You Must Load an Image first!")
Return
Else
_docement = New imageDocument(pictureBox1.Image)
End If
_docement.showPrintPreviewDialog()
End Sub


_docement = New imageDocument(pictureBox1.Image)这行报错, '无法将类型为“System.Drawing.Bitmap”的对象强制转换为类型“System.ComponentModel.IContainer”。

其中imageDocument在组件类中有定义
Public Class imageDocument : Inherits DocementBase

Private _Image As Image

Public Property Image() As Image

Get
Return _Image
End Get

Set(value As Image)
_Image = value
If _Image IsNot Nothing Then
If _Image.Size.Width > _Image.Size.Height Then

DefaultPageSettings.Landscape = True
Else
DefaultPageSettings.Landscape = False
End If
End If
End Set
End Property

Public Sub imageDocument()
End Sub

Public Sub imageDocument(image As Image)
Me.Image = image
End Sub
...全文
557 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
BulletShi 2017-02-14
  • 打赏
  • 举报
回复
谢谢 Tiger_Zhao ,已好!
BulletShi 2017-02-14
  • 打赏
  • 举报
回复
谢谢 xdashewan ,一语中的,疏忽了。非常感谢!
Tiger_Zhao 2017-02-14
  • 打赏
  • 举报
回复
VB.Net 中的构造函数的命名 New 而不是类名
Public Class imageDocument : Inherits DocementBase

Public Sub New(image As Image)
Me.Image = image
End Sub

End Class
xdashewan 2017-02-14
  • 打赏
  • 举报
回复
vb.net中的构造函数为Public Sub New函数,而不是Public Sub 类名
BulletShi 2017-02-14
  • 打赏
  • 举报
回复
在C#中可以正常使用,转为VB为何查询引用时指定会不同
BulletShi 2017-02-14
  • 打赏
  • 举报
回复
imageDocument在查询引用时查到的是类Public Class imageDocument : Inherits DocementBase ,而不是类中定义的 Public Sub imageDocument(image As Image) Me.Image = image End Sub

16,721

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧