void ShowReceiveMessage(string message) { if (listBoxChat.InvokeRequired == true) { UpdateReceiveDisplayDelegate rdd = new UpdateReceiveDisplayDelegate(ShowReceiveMessage); // Данный метод вызывается в дочернем потоке, ищет основной поток и //выполняет делегат указанный в качестве параметра в главном потоке, безопасно обновляя интерфейс формы. Invoke(rdd, new object[] { message }); } else { // Если не требуется вызывать метод Invoke, обратимся напрямую к элементу формы. listBoxChat.Items.Add(message); } }
public void _tcpmoduleClient_ShowStatusMessage(string message) { if (listBoxStatus.InvokeRequired) { UpdateReceiveDisplayDelegate rdd = _tcpmoduleClient_ShowStatusMessage; // Данный метод вызывается в дочернем потоке, // ищет основной поток и выполняет делегат указанный в качестве параметра // в главном потоке, безопасно обновляя интерфейс формы. Invoke(rdd, message); } else { // Если не требуется вызывать метод Invoke, обратимся напрямую к элементу формы. listBoxStatus.Items.Add((listBoxStatus.Items.Count + 1) + ". " + message); } }