Quantcast
Channel: Windows Forms General forum
Viewing all articles
Browse latest Browse all 12583

Interrupting and Continuing a For Each Loop

$
0
0

I need to interrupt a For Each loop (i.e. Exit Sub) and then later resume it.  The loop currently looks like this:

For Each pnl As Panel In ListOfCmtPanels
            pnl.SuspendLayout()
            For Each cntl As Control In pnl.Controls
                If cntl.GetType Is GetType(OrigCmt) Then
                    Dim oc As OrigCmt = DirectCast(cntl, OrigCmt)
                    oc.ChangeCmt()
                    progbar.Increment(1)
                End If
            Next
            pnl.ResumeLayout()
        Next

Now I need to check a flag in that "oc" thing and if it is set do an Exit Sub but then later (when the user clicks a Resume button) continue processing following the point of interruption. 

I'd like a slick way to do this. But if there is no slick way then I know how to just skip over previously processed itemsso long as For Each presents objects in a predictable order. If I do not add or remove controls from the panels will the controls always be presented in the same order?

Thanks,  Bob

 

Viewing all articles
Browse latest Browse all 12583

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>