private void LabelClickHandler(object sender, MouseEventArgs e)
        {
            if (_allowObjectModification == false)
            {
                return;
            }

            if (e.Button == System.Windows.Forms.MouseButtons.Right)
            {
                _lastLabelContextMenuSource = (LineLabel)sender;
                contextMenuLabel.Show(Cursor.Position);
            }
        }
        public void Remove_Object(LineLabel lbl)
        {
            var itemToRemove = _lblList.SingleOrDefault(r => r.Name == lbl.Name);

            if (itemToRemove != null)
            {
                _lblList.Remove(itemToRemove);

                if (_linePannel.Controls.Contains(itemToRemove))
                {
                    _linePannel.Controls.Remove(itemToRemove);
                }
            }
        }
        private void CreateLabelsFromString(Panel _linePannel, string objStr)
        {
            string[] controlsInfo = objStr.Split(new[] { "*" }, StringSplitOptions.RemoveEmptyEntries);

            foreach (string controlInfo in controlsInfo)
            {
                string[] info = controlInfo.Split(new[] { ":" }, StringSplitOptions.RemoveEmptyEntries);

                LineLabel obj = new LineLabel(info[0], info[1]);
                Add_Object(obj);
            }
        }
        public void Add_Object(LineLabel lbl)
        {
            lbl.Name = _index.ToString();
            lbl.AddContextMenu(MouseLabelClickHandler);

            _index++;
            _lblList.Add(lbl);
            _linePannel.Controls.Add(lbl);
        }