public void DeleteAllLabels(bool fireLabelPropertiesChangedEvent = true)
        {
            if (Container.Controls.Count > 0) {
                Container.Controls.Clear();
                SelectedLabels.Clear();

                // Fire event
                if (fireLabelPropertiesChangedEvent)
                    LabelPropertiesChanged(null, null);
            }
        }
        public void DeleteSelectedLabels()
        {
            if (SelectedLabels.Count > 0) {

                foreach (Label l in SelectedLabels)
                    Container.Controls.Remove(l);
                SelectedLabels.Clear();

                // Fire event
                SelectedLabelsChanged(null, null);

                // Fire event
                LabelPropertiesChanged(null, null);
            }
        }
        public void DeselectAllLabels()
        {
            // Performance boost
            if (SelectedLabels.Count > 200)
                Container.Visible = false;

            foreach (Label l in SelectedLabels) {
                (l.Tag as LabelTag).Selected = false;
                l.BorderStyle = BorderStyle.None;
            }

            Container.Visible = true;
            SelectedLabels.Clear();
            _dragging = false;

            // Fire event "SelectedLabelsChanged"
            SelectedLabelsChanged(null, null);
        }
        public void SelectAllLabels()
        {
            SelectedLabels.Clear();

            // Performance boost
            Container.SuspendLayout();
            if (Container.Controls.Count > 200)
                Container.Visible = false;

            foreach (Control c in Container.Controls) {
                (c.Tag as LabelTag).Selected = true;
                SelectedLabels.Add(c);
                (c as Label).BorderStyle = BorderStyle.FixedSingle;
            }

            Container.SuspendLayout();
            Container.Visible = true;

            // Fire event "SelectedLabelsChanged"
            SelectedLabelsChanged(null, null);
        }