在面板上绘制多个图像 - VB.NET

时间:2016-06-03 00:06:07

标签: vb.net function drawimage eventargs paintevent

我正在努力做的事情,并且真的很难做,就是让我的应用程序将一些图片一个接一个地绘制到面板上。目前通过向函数发送绘制图像的请求来编码。它发送与所述图像对应的值,但在那之后,我被卡住了。我无法在面板上画任何东西。这是功能:

Function ImageUpdater(ByVal CellNum As Short, ByVal NewImage As Short)
    Dim NewImgLoc As String = CurDirShrt & "\Data\Img\" & NewImage & ".png"
    DrawPic = NewImgLoc
    Try
        InitializeComponent()
        Cell(CellNum) = NewImage
        DrawCell = Cell(CellNum)
        UpdateForm = True
        'PaintMe(panGame, Nothing)
        'e.Graphics.DrawImage(Image.FromFile(NewImgLoc), PicCell(CellNum).X, PicCell(CellNum).Y, CellSize, CellSize)
        'PicCell(CellNum).BackgroundImage = Image.FromFile(NewImgLoc)
        'PicCell(CellNum).Refresh()
    Catch ex As Exception
        InitializeComponent()
        Cell(CellNum) = 0
        DrawCell = Cell(CellNum)
        UpdateForm = True
        'PaintMe(panGame, Nothing)
        'e.Graphics.DrawImage(MisImg, PicCell(CellNum).X, PicCell(CellNum).Y, CellSize, CellSize)
        'PicCell(CellNum).BackgroundImage = MisImg
        'PicCell(CellNum).Refresh()
    End Try
    Return 0
End Function

与我无关的油漆相关项目包括注释行。对它们进行了评论,以便让我尝试不同的方式让面板进行绘画。

我需要向此功能添加什么,让它将图像及其各自的位置发送到面板的PaintEventArgs子,以及该子目录中需要什么?或者,如果我不发送给那个子,我应该做些什么?

这是PaintEventArgs子:

Private Sub PaintMe(sender As Object, e As PaintEventArgs) Handles panGame.Paint
    While ChangeInProgress
        Application.DoEvents()
        If UpdateForm = True Then
            e.Graphics.DrawImage(Image.FromFile(DrawPic), PicCell(DrawCell).X, PicCell(DrawCell).Y, CellSize, CellSize)
            UpdateForm = False
        End If
    End While
    Return
End Sub

0 个答案:

没有答案