Dans le programme aC# pour simuler un messager de réseau local, j'ai une fonction de rappel pour le début de réception où j'ai besoin d'afficher le texte reçu dans une zone de texte particulière.) Cependant, ce faisant, j'obtiens une opération d'exécution croisée qui n'est pas une erreur valide. Je me rends compte que j'ai besoin d'utiliser la méthode object.invoke mais pourriez-vous s'il vous plaît me fournir le code complet pour invoquer un délégué parce que je suis encore naïf quand il s'agit de threading.MerciErreur d'opération de cross-thread C#
3
A
Répondre
8
Vous devez pousser le travail retour sur l'interface utilisateur; Heureusement, il est facile:
this.Invoke((MethodInvoker) delegate {
this.textBox1.Text = sb.ToString();
});
Cette utilise les fonctionnalités « méthode anonyme » et « variables capturées » de C# pour faire tout le levage de charges lourdes. Dans .NET 3.5, vous pouvez préférer utiliser Action
, mais cela ne fait aucune différence:
this.Invoke((Action) delegate {
this.textBox1.Text = sb.ToString();
});
3
Vous pouvez l'utiliser de cette manière:
void MyCallback(IAsyncResult result)
{
if (textBox1.InvokeRequired) {
textBox1.Invoke(new Action<IAsyncResult>(MyCallBack),new object[]{result});
return;
}
// your logic here
}
Questions connexes
- 1. erreur opérations crossthread
- 2. Aidez-moi avec ce CrossThread?
- 3. C C++ Erreur de liaison
- 4. 2d erreur de tableau C++
- 5. Erreur de lieur Visual-C++
- 6. C# erreur de mémoire corrompue
- 7. Erreur d'accès de propriété C#
- 8. Erreur de compilation Visual C++
- 9. C# Google Earth Erreur
- 10. erreur ofstream en C++
- 11. WebRequest C# 403 Erreur
- 12. C++ Erreur cwchar
- 13. C++ erreur fstream
- 14. Erreur Visual C++ C2143: erreur de syntaxe: manquant ')' avant 'constante'
- 15. C# Erreur d'entrée Directory?
- 16. NullReferenceException Controls.Add C# erreur
- 17. Erreur d'initialisation en C#
- 18. argument erreur C#
- 19. Étrange erreur de débordement de C#
- 20. Erreur de syntaxe de fonction publique C++
- 21. erreur de syntaxe de modèle C++
- 22. Erreur de variable locale non affectée C#
- 23. stockage de l'utilisateur, erreur, messages d'exception (C++)
- 24. bizarre erreur de compilation C#: héritage cyclique
- 25. erreur d'exécution de chaîne simple dans C?
- 26. référence non définie - C++ erreur de liens
- 27. Erreur d'application de données d'application C#
- 28. classes C++ emboîtés erreur de déclaration avant
- 29. C++ "conversion perd qualificatifs" erreur de compilation
- 30. Erreur de compilateur C++ dans netbeans