For循环只创建一个图像?
For loop is only creating one image?
所以我创建了这个循环来打印地图。它非常陈旧,我已经简化了调用图像的代码 - 但本质上,对于每个坐标 (X,Y),用相关图像创建一个新的图片框。
我试图创建一个图片框数组,以便每个项目都是唯一的,但它是同样的错误。
所以实际问题本身是我每次只显示一个图像(第一次迭代)。我已经检查过它对于每次迭代都是唯一的 (X,Y),并且它实际上是 运行 通过多次迭代 - 它是。
所以如果所有的迭代都被打印出来了,而且它们肯定不在同一个位置,到底是什么问题?非常感谢。
For MapY As Integer = 0 To WorldParameter 'This parameter can be between 80 and 800, depending on settings. Is on 80 for testing.
For MapX As Integer = 0 To WorldParameter
Dim BaseTile As PictureBox = New PictureBox
BaseTile.Image = Image.FromFile("C:\Users\CLEO\Documents\Visual Studio 2015\Projects\Corruption\Corruption\mapimage\motorway.png")
BaseTile.Location = New Point(MapX * 10, MapY * 10) 'The image is 10x10; ergo the *10 increment
BaseTile.Visible = True
Me.Controls.Add(BaseTile)
Next
Next
您遇到了框相互重叠的问题。
设置 New Size(10, 10)
的显式 BaseTile.Size
(或者您希望 PictureBox
对象有多大)。
您也可以(改为)手动设置 Width
和 Height
,但这没那么有趣。
所以我创建了这个循环来打印地图。它非常陈旧,我已经简化了调用图像的代码 - 但本质上,对于每个坐标 (X,Y),用相关图像创建一个新的图片框。
我试图创建一个图片框数组,以便每个项目都是唯一的,但它是同样的错误。
所以实际问题本身是我每次只显示一个图像(第一次迭代)。我已经检查过它对于每次迭代都是唯一的 (X,Y),并且它实际上是 运行 通过多次迭代 - 它是。
所以如果所有的迭代都被打印出来了,而且它们肯定不在同一个位置,到底是什么问题?非常感谢。
For MapY As Integer = 0 To WorldParameter 'This parameter can be between 80 and 800, depending on settings. Is on 80 for testing.
For MapX As Integer = 0 To WorldParameter
Dim BaseTile As PictureBox = New PictureBox
BaseTile.Image = Image.FromFile("C:\Users\CLEO\Documents\Visual Studio 2015\Projects\Corruption\Corruption\mapimage\motorway.png")
BaseTile.Location = New Point(MapX * 10, MapY * 10) 'The image is 10x10; ergo the *10 increment
BaseTile.Visible = True
Me.Controls.Add(BaseTile)
Next
Next
您遇到了框相互重叠的问题。
设置 New Size(10, 10)
的显式 BaseTile.Size
(或者您希望 PictureBox
对象有多大)。
您也可以(改为)手动设置 Width
和 Height
,但这没那么有趣。