For循环只创建一个图像?

时间:2015-11-02 18:32:19

标签: .net vb.net visual-studio-2015 picturebox

所以我创建了这个循环来打印出一张地图。它非常陈旧,我简化了所调用图像的代码 - 但实质上,对于每个坐标(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

The Problem

1 个答案:

答案 0 :(得分:1)

您正面临着相互重叠的问题。

设置明确的BaseTile.Size New Size(10, 10)(或者您想要PictureBox个对象的大小。)

您也可以(而不是)手动设置WidthHeight,但这样的乐趣就少了。