private void GoClientOnClientAdded(Object sender, GoClientDetails e) { BeginInvoke(new MethodInvoker(() => { if (Holders.ContainsKey(e.ID)) { return; } ClientControlHolder holder = new ClientControlHolder(goClient.ClientDetails[e.ID]); holder.Control.ConnectTriggered += OnConnectionTriggered; connectionsTabControl.TabPages.Add(holder.ParentTab); Holders.Add(e.ID, holder); })); }
private void GoClientOnClientRemoved(Object sender, GoClientDetails e) { BeginInvoke(new MethodInvoker(() => { if (!Holders.ContainsKey(e.ID)) { return; } ClientControlHolder holder = Holders[e.ID]; holder.Control.ConnectTriggered -= OnConnectionTriggered; connectionsTabControl.TabPages.Remove(holder.ParentTab); Holders.Remove(e.ID); holder.Dispose(); })); }