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