Bonjour à tous,

j'essai de batir un exemple de procédure pour enregistrer une ligne dans un datagridview à partir d'un multi-threads et j'obtiens ce message d'erreur quelqu'un peut m'aider Svp
L'exception System.ArgumentException n'a pas été gérée
Message=InvalidArgument=La valeur '1' n'est pas valide pour 'rowIndex'.
Source=System.Windows.Forms
InnerException:
et mon code est

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
36
37
Public Class Form1
 
    Delegate Sub OneArgSubTab(ByVal Msg() As String)
    Dim Delegr As OneArgSubTab
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
 
            For i = 1 To 10
            Dim T As New Threading.Thread(AddressOf doTheTask)
            T.Name = "Threads#" & i.ToString
            T.Start()
        Next
    End Sub
    Sub doTheTask()
        Delegr = New OneArgSubTab(AddressOf DataAjout)
        Delegr.Invoke({"g", "3"})
    End Sub
 
    Sub DataAjout(ByVal Rows0() As String)
        DataGV.Rows.Add(Rows0)
    End Sub
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        DataGV.ColumnCount = 2
        With DataGV.ColumnHeadersDefaultCellStyle
            .BackColor = Color.CadetBlue
            .ForeColor = Color.AntiqueWhite
        End With
        With DataGV
            .Columns(0).Name = "Lettre"
            .Columns(0).Width = 75
            .Columns(1).Name = "Chiffre"
            .Columns(1).Width = 75
        End With
 
    End Sub
End Class
Merci
Mario