public void RefreshListBox(int i) { Action action = delegate { ChatHistory.Text = ""; if (i == 0) { foreach (AllMessage message in client.AllMessages) { ChatHistory.Text += "[" + client.GetClientName(message.SenderID) + " " + Convert.ToString(message.DateTime) + "] " + message.data + "\n"; } } if (i == 1 && client.ClientID != selectindex) { foreach (PrivateMessage message in client.PrivateMessages) { if (selectindex == message.SenderID || selectindex == message.reciverID) { ChatHistory.Text += "[" + client.GetClientName(message.SenderID) + " " + Convert.ToString(message.DateTime) + "] " + message.data + "\n"; } } } }; if (InvokeRequired) { Invoke(action); } else { action(); } }