Bonjour j'ai découvert ce controle pour faire des transferts de fichier via des sockets mais j'ai un problème ! (sans blague ^^)
Donc, en fait le problème vient que je veux montrer la progression du transfert à l'utilisateur avec ce controle et notamment sa procédure :
Le problème c'est que j'appelle la méthode Bgw.RunWorkerAsync(Arguments) dans un autre thread que le thread principale (enfin je crois)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Private Sub Bgw_ProgressChanged(ByVal sender As Object, ByVal e As System.ComponentModel.ProgressChangedEventArgs) Handles Bgw.ProgressChanged Pb.Value = e.ProgressPercentage End Sub
Et donc l'event Bgw_ProgressChanged plante et un appel interthread est crée sur la progressbar...
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 Private Sub Client_Receive_String(ByVal Message As String, ByVal Sock As Socket) Handles Client.Receive_String Dim ret As String() = Split(Message, ControlChars.VerticalTab) Select Case ret(0) Case "GetOk" Dim file As New IO.FileInfo(T_Chemin.Text) Client.Send("Download" & ControlChars.VerticalTab & file.FullName & ControlChars.VerticalTab & file.Length) Arguments.Sck = Sock Arguments.Size = file.Length Bgw.RunWorkerAsync(Arguments) End Select End Sub
Comment remédier au problème ? Merci d'avance![]()
Partager