iSpyApplication.MainForm.RemoveMicrophonePanel C# (CSharp) Method

RemoveMicrophonePanel() private method

private RemoveMicrophonePanel ( VolumeLevel volumeControl ) : void
volumeControl VolumeLevel
return void
        private void RemoveMicrophonePanel(VolumeLevel volumeControl)
        {
            _pnlCameras.Controls.Remove(volumeControl);

            if (!_closing)
            {
                var control = volumeControl;
                var om = Microphones.SingleOrDefault(p => p.id == control.Micobject.id);
                if (om != null)
                {
                    lock (ThreadLock)
                    {
                        Masterfilelist.RemoveAll(p => p.ObjectId == om.id && p.ObjectTypeId == 1);
                    }
                    for (var index = 0; index < Cameras.Count(p => p.settings.micpair == om.id); index++)
                    {
                        var oc = Cameras.Where(p => p.settings.micpair == om.id).ToList()[index];
                        oc.settings.micpair = -1;
                    }
                    Actions.RemoveAll(p => p.objectid == control.Micobject.id && p.objecttypeid == 1);
                    Microphones.Remove(om);

                    foreach (var ofp in FloorPlans)
                        ofp.needsupdate = true;
                }
                SetNewStartPosition();
                NeedsSync = true;
            }
            Application.DoEvents();
            volumeControl.Dispose();
        }
MainForm