DOBON.NET DOBON.NETプログラミング掲示板過去ログ

描画した線がスクロールして隠れた部分は消えてしまう。

環境/言語:[Win2k VB .NET 1.0]
分類:[.NET]

お世話になっております。

ただいま、Panelの中にPictureBoxを一覧のように格納して画像を表示し
マウスで、選択されたPictureBoxはDrawRectangleを使って枠線を描画して選択された事を示すようにしています。
問題というのはPanelのスクロールを使って選択されたPictureBoxが消える場所まで
持っていって、また表示領域まで戻すと消えてしまうことなのです。
PictureBoxのPaintイベントで再描画をこころ見ましたがスクロール中に描くので
線がとんでもないところに表示されたりしまいます。
もしかしてこういうやり方ってあまりやらないのでしょうか?


Private Sub cctl_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
   Dim g As Graphics = sender.CreateGraphics
Dim mypen As Pen = New Pen(Color.Red)
Dim rect As Rectangle = New Rectangle()

rect = rect.Ceiling(g.VisibleClipBounds)
mypen.Width = 6
picbox.CreateGraphics.DrawRectangle(mypen, rect)


End Sub
> もしかしてこういうやり方ってあまりやらないのでしょうか?
PictureBox内に表示する画像はPictureBoxの大きさよりほんの少し小さく描画して、
選択されたPictureBoxの背景色を変更することで境界線のように見せるとか?
>>もしかしてこういうやり方ってあまりやらないのでしょうか?
> PictureBox内に表示する画像はPictureBoxの大きさよりほんの少し小さく描画して、
> 選択されたPictureBoxの背景色を変更することで境界線のように見せるとか?
ありがとうございます、なるほどそういうやりかたをすればいいのですか。
早速やってみます。

DOBON.NET | プログラミング道 | プログラミング掲示板