Exemplo n.º 1
0
 public void Add(TabCursor item)
 {
     if (_cursors.Any(cursor => cursor.Name.Equals(item.Name)) || _cursors.Count >= MaxCursorCount)
     {
         return;
     }
     if (0 == _cursors.Count)
     {
         _adapter.RefreshPosition();
     }
     item.Initialize(this);
     if (string.IsNullOrWhiteSpace(item.Name))
     {
         for (int i = 1; i < MaxCursorCount + 1; i++)
         {
             string cursorName = string.Format(CursorNameFormat, i);
             if (!_cursors.Any(cursor => cursor.Name.Equals(cursorName)))
             {
                 item.Name  = cursorName;
                 item.Color = _cursorPalette[(i - 1) % _cursorPalette.Length];
                 break;
             }
         }
     }
     _cursors.Add(item);
     _baseChart.Controls.Add(item.Control);
     _adapter.MoveCursorToTarget(item);
     SetCursorXBoundry(item);
     AttachOrDetachPaintEvent();
     _parentChart.OnTabCursorChanged(item, TabCursorOperation.CursorAdded, null);
 }