Please see the following Code:-
Private Sub PictureBox1_Paint(sender As Object, e As PaintEventArgs) Handles PictureBox1.Paint
Parallel.ForEach(Segments.OfType(Of Segment),
Sub(segment)
Try
segment.DrawLine(e.Graphics)
Catch ex As Exception
End Try
End Sub
)
Parallel.ForEach(Ellipses.OfType(Of Ellipse),
Sub(ellipse)
Try
ellipse.DrawEllipse(e.Graphics)
Catch ex As Exception
End Try
End Sub
)
End Sub
Where the Segment
and Ellipse
are Classes to draw Lines and Oval Shapes, Segments
and Ellipses
are the ListOf
of the object instances each of which is identified by a Unique Name such as Segment1, Segment2
, ..., Ellipse1, Ellipse2
...
PictureBox1
has about 362 Line Segments and about 215 Ellipses, all shapes are of varying color, lengths/diameters.
My question - Where PictureBox1
has several shapes such as Segment1, Segment2
, ..., Ellipse1, Ellipse2
, Is it possible to Redraw only the Changed Shape identified by its unique Name, instead of Redrawing all Shapes? For example, Can only Segment1
or Ellipse2
be Redrawn?