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?