Dit is de situatie. Ik start een connectie. Na verbinding gemaakt te hebben begin ik met Socket.BeginReceive() een a-synchrone ontvangst van gegevens. Wanneer deze gegevens binnenkomen wordt een callback aangeroepen die de binnenkomende berichten verwerkt.
Dit werkt allemaal goed. Aan de hand van het inkomende bericht wordt vervolgens een event aangeroepen naar de client programmeur.
Alleen nu wil ik in die event een window laten zien en dit werkt niet
Ik doe
Dit zou voldoende moeten zijn en dat is het ook wanneer ik deze gewoon onder een knop plaats op mijn mainwindow.
Alleen wanneer ik deze code gebruik in een event-afhandeling (dus in feite in een aparte thread) dan bevriest het nieuwe scherm. De rest van het programma loopt wel door.
De controls in het nieuwe wenster worden dus niet meer gepaint en niks reageert meer in dit venster.
Hoe kan ik dit oplossen?
Dit werkt allemaal goed. Aan de hand van het inkomende bericht wordt vervolgens een event aangeroepen naar de client programmeur.
Alleen nu wil ik in die event een window laten zien en dit werkt niet
Ik doe
code:
1
2
| ConversationWindow window = new ConversationWindow(); window.Show(); |
Dit zou voldoende moeten zijn en dat is het ook wanneer ik deze gewoon onder een knop plaats op mijn mainwindow.
Alleen wanneer ik deze code gebruik in een event-afhandeling (dus in feite in een aparte thread) dan bevriest het nieuwe scherm. De rest van het programma loopt wel door.
De controls in het nieuwe wenster worden dus niet meer gepaint en niks reageert meer in dit venster.
Hoe kan ik dit oplossen?