Пример #1
0
        private void CreatePrivatePage(int userId, bool getPendingMessages = true)
        {
            var user = AllUsers.Instance.GetUser(userId);

            if (user == null)
            {
                return;
            }
            var userKey = userId.ToString();

            CreatePage(userKey, user.NickName);
            var newPage        = tabControl.TabPages[userKey];
            var newChatControl = new ChatMessagingControl {
                Dock = DockStyle.Fill
            };

            newChatControl.MessageEnteted   += message => engine.SendPrivateMessage(userId, message);
            newChatControl.ConversationLeft += () => LeaveConversationButtonClicked(userKey);
            newChatControl.Enable(engine.IsOnline());
            newPage.Controls.Add(newChatControl);
            UpdateImageIndexForPage(userKey);
            // posting old messages
            engine.GetPrivateMessages(userId).ForEach(m => PrintMessage(newChatControl, m));
            if (getPendingMessages)
            {
                engine.GetPendingPrivateMessages();
            }
        }