Beispiel #1
0
        private void contacts_ItemAdd(User user)
        {
            if (lbContacts.InvokeRequired)
            {
                lbContacts.Invoke(new Action <User>(contacts_ItemAdd), user);
            }
            else
            {
                UserListBoxItem item = lbContacts.GetItemByIP(user.UserIP);

                if (item == null)
                {
                    lbContacts.Items.Add(new UserListBoxItem(user));
                }
                else
                {
                    item.User.Nickname = user.Nickname;
                }

                lbContacts.Refresh();

                if (Program.firstExec)
                {
                    HowToCreateChat();
                }
            }
        }
Beispiel #2
0
        private void AddSelected(object sender, EventArgs e)
        {
            UserListBoxItem temp = null;

            if (lbContacts.SelectedIndices.Count != 0)
            {
                temp = (UserListBoxItem)lbContacts.Items[lbContacts.SelectedIndices[0]];
                if (Program.serverPool.connectedUsers.Contains(temp.User) ||
                    Program.localUser == temp.User)
                {
                    // Неможна додавати у чат тих, хто уже
                    // підключений.
                }
                else
                {
                    try
                    {
                        Program.serverPool.TryConnectToUser(temp.User);
                    }
                    catch (ServerException)
                    {
                        MessageBox.Show("Неможу зв'язатися");
                    }
                }
            }
        }
Beispiel #3
0
 protected override void OnDrawItem(DrawItemEventArgs e)
 {
     if (this.Items.Count > 0)
     {
         UserListBoxItem item = (UserListBoxItem)this.Items[e.Index];
         item.drawItem(e, this.Margin, _titleFont, _detailsFont, _fmt);
     }
 }
Beispiel #4
0
        public void SetNickname(IPAddress ip, string nickname)
        {
            for (int i = 0; i < this.Items.Count; i++)
            {
                UserListBoxItem current = ((UserListBoxItem)this.Items[i]);

                if (current.User.UserIP.ToString() == ip.ToString())
                {
                    current.User.Nickname = nickname;
                    return;
                }
            }
        }
Beispiel #5
0
        public void SetState(IPAddress ip, OnlineState state)
        {
            for (int i = 0; i < this.Items.Count; i++)
            {
                UserListBoxItem current = ((UserListBoxItem)this.Items[i]);

                if (current.User.UserIP.ToString() == ip.ToString())
                {
                    current.Online = state;
                    return;
                }
            }
        }
Beispiel #6
0
        // ------ Контрол, що оброблює список контактів --------

        private void contacts_ItemRemove(User user)
        {
            if (lbContacts.InvokeRequired)
            {
                lbContacts.Invoke(new Action <User>(contacts_ItemRemove), user);
            }
            else
            {
                UserListBoxItem item = lbContacts.GetItemByIP(user.UserIP);

                if (item != null)
                {
                    lbContacts.Items.Remove(item);
                }

                lbContacts.Refresh();
            }
        }
Beispiel #7
0
        private void CreateNewChat_Click(object sender, EventArgs e)
        {
            UserListBoxItem item = (UserListBoxItem)lbContacts.SelectedItem;

            Program.serverPool.TryConnectToUser(item.User);
        }