'mapFormオブジェクトを保持するためのフィールド Private Shared _mapFormInstance As mapForm 'mapFormオブジェクトを取得、設定するためのプロパティ Public Shared Property mapFormInstance() As mapForm Get Return _mapFormInstance End Get Set(ByVal Value As mapForm) _mapFormInstance = Value End Set End Property
'マップフォーム表示 Private Sub ToolStripMenuItemMap_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItemMap.Click '表示させるフォームのインスタンスを作成 Dim mapForm As New mapForm() '表示させるフォームを所有する Me.AddOwnedForm(mapForm) '表示させるフォームの情報を設定 mapForm.mapFormInstance = mapForm mapForm.Show() End Sub
'マップを再描画する Sub mapRedraw() Dim i As Integer myImages = New List(Of Bitmap) points = New List(Of Point) For i = 0 To 19 If Not Me.tokenListC.Items(i) Is "-" Then Dim args() As String = Me.tokenListC.Items(i).Split(CChar(vbTab)) 'マップフォームに値を渡す Dim XX As Integer = args(2) - 16 Dim YY As Integer = args(3) - 16 myImages.Add(New Bitmap(args(1))) points.Add(New Point(XX, YY)) End If Next '現在セットされている座標にそれぞれの画像を描画 Dim g As Graphics = mapForm.mapBox.CreateGraphics() For i = 0 To myImages.Count - 1 myImages(i).MakeTransparent(Color.White) g.DrawImage(myImages(i), points(i)) Next mapForm.mapFormInstance.mapBox.Invalidate() End Sub