Bonjour,

La collection a été modifiée*; l'opération d'énumération peut ne pas s'exécuter
Cette erreur peut survenir quand on quitte une form en cliquant sur la croix et que l'on utilise le visualbasicpowerpack 10.0 pour traiter des gérer des shapes.
Pour éviter cette erreur, il faut intégrer ce morceau de code en entete de nomdeform.design

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class EXEMPLE    
    Inherits System.Windows.Forms.Form
 
    'Form remplace la méthode Dispose pour nettoyer la liste des composants.
    'Guintini Gilles on gére lineshape2.dispose() pour éviter d'avoir erreur énumération quand quitte la forme
    'en cliquant sur la croix !
    <System.Diagnostics.DebuggerNonUserCode()> _
    Protected Overrides Sub Dispose(ByVal disposing As Boolean)
        Try
            If disposing AndAlso components IsNot Nothing Then
                LineShape2.Dispose()   ! ici il vous faudra énumérer TOUS vos composants SHAPE
                components.Dispose()
            End If
        Finally
            LineShape2.Dispose()
            MyBase.Dispose(disposing)
        End Try
    End Sub
    Protected Sub DisposeShapeContainer(ByVal AShapeContainer As Microsoft.VisualBasic.PowerPacks.ShapeContainer)
        If AShapeContainer IsNot Nothing Then
            If AShapeContainer.Shapes IsNot Nothing Then
                Dim tshapes As New Generic.List(Of Microsoft.VisualBasic.PowerPacks.Shape)
                For Each tshape As Microsoft.VisualBasic.PowerPacks.Shape In AShapeContainer.Shapes
                    tshapes.Add(tshape)
                Next
                AShapeContainer.Shapes.Clear()
                AShapeContainer.Shapes.Dispose()
                For Each tshape As Microsoft.VisualBasic.PowerPacks.Shape In tshapes
                    tshape.Dispose()
                Next
            End If
            AShapeContainer.Dispose()
        End If
    End Sub
En appliquant ceci plus d'erreurs.

Une idée ?

Merci.