hallo, hab schon vieles ausprobiert, komme aber im moment echt nicht weiter...
ich hab nen kleines chatprogramm mit c# geschrieben. das problem hat aber garnix mit netzwerk zu tun...
sondern damit, dass ich mehrere threads verwende. die komponenten kann ich aber nur aus dem hauptthread direkt ansprechen, deshalb hab ich nen wenig gesucht und bin auf
Invoke() gestossen. das is dabei rausgekommen:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40:
| private void update_userlist(string[] userlist) { if (userlist_box.InvokeRequired) { this.userlist = userlist; userlist_box.Invoke(new MethodInvoker(update_userlist_invoke)); } else { this.userlist = userlist; userlist_box.Text=""; for (int i = 0; i < userlist.Length; i++) { try { userlist_box.Items.Add(userlist[i]); } catch { } } } }
private void update_userlist_invoke() { userlist_box.Text=""; for (int i = 0; i < userlist.Length; i++) { try { userlist_box.Items.Add(userlist[i]); } catch { } } } |
problem: die markierte stelle wird irgendwie nicht ausgeführt. oder interessiert die Listbox nich.
userlist enthält auf jeden fall immer die richtigen werte...
PS: hab auch schon
ResetText() versucht, um die Listbox zu leeren. kein erfolg...