Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
PictureBoxに描画した画像の移動
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=16#CommentId147
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
永字
 (社会人)
投稿日時
2008/10/4 12:02:44
お返事が遅れて申し訳有りません。
>鍵さん
ご意見ありがとうございます。
>mapBoxというPictureBoxコントロールがmapForm上に配置されていて、
>実際に画像が描画されるのはmapBoxの上ということで合っていますでしょうか。
はい、それで間違っておりません。
My.Forms.mapForm.mapBox.Invalidate()
は、こちらもUpdate,Refresh共に試しましたが無理なようでした。
>るしぇさん
ご指摘ありがとうございます。
ポカミスでした…。すみません。
musicFormのコピペで作った際に、修正し忘れていたようです。
正しくは
'マップフォーム表示
Private Sub ToolStripMenuItemMap_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItemMap.Click
'表示させるフォームのインスタンスを作成
Dim mapForm As New mapForm()
'表示させるフォームを所有する
Me.AddOwnedForm(My.Forms.mapForm)
My.Forms.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
mapForm.mapBox.Invalidate()
End Sub
再描画命令をmapBoxに渡しましたが、相変わらず画面を一度窓の裏に隠さないと更新されないようです。
ちなみに上半のコードにあるDim mapForm As New mapForm()
は、元々表示されていないマップフォームをメインフォームの前に出す処理です。
Newをすると不都合、というご意見も有ったのですが、Newせずに定義する方法が有るのでしょうか?
よろしくお願いします。