[VB.NET] TextBox -- Opération Inter-Thread
Orci76
Messages postés
102
Statut
Membre
-
Orci76 Messages postés 102 Statut Membre -
Orci76 Messages postés 102 Statut Membre -
Bonjour,
Désolé de vous déranger, encore.
J'ai un petit problème: je 'sais' réaliser une opération cross-threads avec les Delegate, je sais réaliser une opération cross-class avec "Form1.[...]", cependant je n'arrive pas à modifier le texte d'une TextBox qui soit sur une classe distante, lancé par un thread, exemple:
Comme vous pouvez le voir, j'ai lancé mon thread afin d'exécuter le Sub distant, start().
Cependant, la TextBox ne se remplit pas et seul la MessageBox "B" s'affiche, ce qui n'est pas le cas quand l'opération n'est pas inter-classe.
Ai-je commis un erreur? ou alors, ai-je simplement utilisé la mauvaise fonction?
Merci d'avance pour votre aide, encore désolé du dérangement.
A+.
Désolé de vous déranger, encore.
J'ai un petit problème: je 'sais' réaliser une opération cross-threads avec les Delegate, je sais réaliser une opération cross-class avec "Form1.[...]", cependant je n'arrive pas à modifier le texte d'une TextBox qui soit sur une classe distante, lancé par un thread, exemple:
Imports System.Threading
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim newTest As New Test
Dim newThread As Threading.Thread = New Thread(AddressOf newTest.start)
newThread.Start()
End Sub
End Class
Public Class Test
Delegate Sub SetTextCallback(ByVal text As String)
Private Sub Message(ByVal text As String)
If Form1.TextBox1.InvokeRequired Then
Dim d As New SetTextCallback(AddressOf Message)
Form1.Invoke(d, New Object() {text})
MsgBox("A")
Else
MsgBox("B")
Form1.TextBox1.Text &= vbCrLf & text
End If
End Sub
Public Sub start()
Message("Add This")
End Sub
End Class
Comme vous pouvez le voir, j'ai lancé mon thread afin d'exécuter le Sub distant, start().
Cependant, la TextBox ne se remplit pas et seul la MessageBox "B" s'affiche, ce qui n'est pas le cas quand l'opération n'est pas inter-classe.
Ai-je commis un erreur? ou alors, ai-je simplement utilisé la mauvaise fonction?
Merci d'avance pour votre aide, encore désolé du dérangement.
A+.
A voir également:
- [VB.NET] TextBox -- Opération Inter-Thread
- Télécharger podcast france inter sur ordinateur - Guide
- L'opération demandée nécessite une élévation ✓ - Forum LibreOffice / OpenOffice
- Inter chat connexion - Forum Réseaux sociaux
- Impossible de terminer l'opération car le fichier contient un virus ✓ - Forum Virus
- Le fichier de pagination est insuffisant pour terminer cette opération ✓ - Forum Logiciels