private void HandleFriendMoved(ParseData pd) { DataReader dr = new DataReader(pd.Data); byte index = dr.ReadByte(); byte newIndex = dr.ReadByte(); FriendUser friend = m_friendsList[index]; friend.Index = newIndex; m_friendsList.Insert(newIndex, friend); if (newIndex < index) { for (int i = newIndex + 1; i <= index; i++) { m_friendsList[i].Index += 1; } } else if (newIndex > index) { for (int i = index; i < newIndex; i++) { m_friendsList[i].Index -= 1; } } FriendMovedEventArgs args = new FriendMovedEventArgs(friend, newIndex) { EventData = pd }; OnFriendMoved(args); }
void client_FriendMoved(object sender, FriendMovedEventArgs e) { ThreadStart ts = delegate { this.lbFriends.Items.Remove(e.Friend); this.lbFriends.Items.Insert(e.NewIndex, e.Friend); }; if (InvokeRequired) BeginInvoke(ts); else ts(); }
void Client_FriendMoved(object sender, FriendMovedEventArgs e) { if (__friendMoved != null) __friendMoved.Call(_host.ClientHost, ConvObj(e)); }