private void backgroundWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { var messages = e.Result as List <Model.Message>; if (messages.Any()) { foreach (var m in messages) { _chat.Messages.Add(m); } for (int i = 0; i < messages.Count; i++) { messages[i].Text += "fromBG"; } UpdateAllMessages(messages); } if (KeepUpdating) { MessageUpdateBGW.RunWorkerAsync(); } }
public MessengerForm(Chat chat) { InitializeComponent(); _chat = chat; // Устанавливаем имя чата Text = _chat.Private ? chat.Name.Split('-').First(x => x != Properties.Settings.Default.CurrentUser.Nickname) : _chat.Name; // Обновляем сообщения _chat.Messages.Clear(); var messages = ServiceClient.GetMessages(chat.ID, 0, 5).ToList(); UpdateAllMessages(messages); _chat.Messages = messages; //ScrollToBottom(MessagesPanel); // Ставим плейсхолдер в поле сообщения ActiveControl = MessagesPanel; MessageTextBox_Leave(new Object(), EventArgs.Empty); MessageUpdateBGW.RunWorkerAsync(); }