In AC# -Programm für die Simulation eines LAN-Messenger habe ich eine Callback-Funktion für beginreceive, wo ich den Text in einem bestimmten Textfeld angezeigt .. this.textBox1.Text = sb.ToString (); Allerdings bekomme ich eine Cross-Thread-Operation nicht gültig Fehler. Ich weiß, dass ich die object.invoke-Methode verwenden muss, aber Sie können mir bitte den vollständigen Code, um einen Delegierten aufzurufen, weil immer noch naiv, wenn es um Threading geht. DankeC# Cross-Thread-Operation Fehler
3
A
Antwort
8
Sie müssen die Arbeit schieben zurück auf die Benutzeroberfläche; Glücklicherweise ist es einfach:
this.Invoke((MethodInvoker) delegate {
this.textBox1.Text = sb.ToString();
});
Dies verwendet die „anonyme Methode“ und „erfassten Variablen“ Eigenschaften von C# alle schweres Heben zu tun. In .NET 3.5, können Sie es vorziehen Action
zu verwenden, aber das macht keinen Unterschied:
this.Invoke((Action) delegate {
this.textBox1.Text = sb.ToString();
});
3
Sie können es auf diese Weise verwenden:
void MyCallback(IAsyncResult result)
{
if (textBox1.InvokeRequired) {
textBox1.Invoke(new Action<IAsyncResult>(MyCallBack),new object[]{result});
return;
}
// your logic here
}
Verwandte Themen
- 1. Oracle Fehler mit C#
- 2. C# BigInteger.ModPow Fehler?
- 3. Fehler in C-Programm
- 4. Fehler in asp.net C#
- 5. C# Nugget Server Fehler
- 6. C# Fehler Objektreferenz
- 7. Objective C Compiler Fehler
- 8. C# Bei Fehler resume
- 9. Zugriffsverletzung Fehler C
- 10. NullReferenceException Controls.Add C# Fehler
- 11. C++ Fehler kompilieren
- 12. C++ PlaySound() Fehler
- 13. Fehler in C++ - Code
- 14. C++ Queue Fehler
- 15. C# screenshot Fehler?
- 16. Listbox Fehler C#
- 17. C# Form.show() Fehler System.InvalidOperationException
- 18. Fehler C4716 in C++
- 19. C dynamische Struktur Fehler
- 20. C++ kompiliert Fehler
- 21. Unity3D WWW Fehler C#
- 22. C++ verschachtelte Vorlage Fehler
- 23. C++ Fixing Linker [Fehler]
- 24. C#: Fehler Mail Abschicken
- 25. C++ - Standardargument Fehler
- 26. Unbekannter Rückgabetyp Fehler (C++)
- 27. C++ fehlt Initializer Fehler
- 28. C# -Code-Fehler (Berechnung)
- 29. Compiler Fehler in C++
- 30. Vector C++ 98 Fehler