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(); } } }
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("Неможу зв'язатися"); } } } }
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); } }
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; } } }
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; } } }
// ------ Контрол, що оброблює список контактів -------- 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(); } }
private void CreateNewChat_Click(object sender, EventArgs e) { UserListBoxItem item = (UserListBoxItem)lbContacts.SelectedItem; Program.serverPool.TryConnectToUser(item.User); }