【发布时间】:2020-12-31 17:14:44
【问题描述】:
我正在尝试对其进行编码,以便我可以从类中的方法创建图片框。但是,当我的图片框被绘制时,它不显示任何图像,它只在指定位置显示一个指定尺寸的白色方块。
这是我用来创建图片框的代码:
Public Sub DrawEnemy(ByRef formInstance)
Dim enemypic As New PictureBox
enemypic.Image = Image.FromFile("C:\fboi1\Enemy.Png")
enemypic.Width = 64
enemypic.Height = 64
enemypic.Location = New Point(Me.EnemyPosX, EnemyPosY)
enemypic.Visible = True
formInstance.Controls.Add(enemypic)
End Sub
这里是我调用方法的地方:
Dim Enemy1 As New computerControlled(1, 1)
Enemy1.DrawEnemy(Me)
【问题讨论】:
-
你的意思可能是
Public Sub DrawEnemy(ByVal formInstance as Form)(或者只是Public Sub DrawEnemy(formInstance as Form)) -
是的...绝对没有理由在这里传递 ByRef,并且您绝对应该指定类型(并且为了上帝的缘故打开 Option Strict!)。请记住:ByVal 仍然传递引用...只是引用本身复制了它的值。
-
感谢您告诉我有关 byval 的信息,我已修复它。此外,当白框仍然存在时,我注意到当我拖动控制台窗口时,白框突然变成了我想要的图像。这是 vb 的问题还是我的代码有问题?
-
"当我拖动控制台窗口时" 什么控制台窗口?你是从什么类型的项目开始的?应该是一个WinForms项目,没有控制台窗口……
-
你的图片尺寸是多少?
标签: vb.net picturebox