Bonjour, suite à plusieurs de mes anciens poste sur openclassrooms sur ce sujet qui viennent d’être fermer car personne n’a compris ce que je voulais et l’on mal interprétez, je viens vers vous BIEN formuler mon problème.
Lorsque j’envoie un mail en VB.NET, la form ce fige pendant un petit moment. Et donc question était, comment éviter celà ?
Une personne ayant compris m’a demande m’a répondu qu’il fallait que je fasse un Thread de mon envoie de mail. J’ai donc fait des recherches et procéder comme suit:
Lors de l’appuis sur un boutton:
Dim Thread1 As New Threading.Thread(Sub() sendMail())
Thread1.Start()
Dans mon sendMail() :
Dim mail As New MailMessage
Dim SMTP As New SmtpClient
If ComboBox1.SelectedItem = ComboBox1.Items(0) Then
SMTP = New SmtpClient("smtp.gmail.com")
SMTP.Port = "587"
End If
mail.From = New MailAddress(TextBox1.Text) ' De
mail.To.Add(TextBox3.Text) ' Pour
mail.Subject = TextBox5.Text
mail.Body = RichTextBox1.Text
SMTP.Credentials = New System.Net.NetworkCredential(TextBox1.Text, TextBox2.Text)
SMTP.EnableSsl = True
SMTP.Send(mail)
Mais j’ai une erreur qui est là suivante:
<< System.InvalidOperationException: Opération inter-threads non valide: le contôle 'ComboBox1' a fait l'objet d'un accès à partir d'un thread autre que celui sur lequel il a été créé.
à System.Windows.Forms.Control.get_Handle()
à System.Windows.Forms.ComboxBox.get_SelectedIndex()
à System.Windows.Forms.ComboxBox.get_SelectedItem()
à MonProject.MonProject.sendMail() dans
C:\Users\LG\Documents\Visual Studio 2010\Projects\System Fail\System Fail\mailSendLogiciel\main.vb:ligne 134>>
Alors comment résoudre ce problème ? Et comme retirer le léger freeze ?
Merci
+0
-0