private void DropEvent(string strEvent, Point mouse) { switch (dropResult) { case DropResult.INSERT: events.Insert(SmartFactory.GetInstance().EventFactory(strEvent), events.GetInsertIndexFromPos(mouse.X, mouse.Y)); break; case DropResult.REPLACE: SmartEvent ev = (SmartEvent)events.ElementAt(mouse.X, mouse.Y); SmartEvent new_event = SmartFactory.GetInstance().EventFactory(strEvent); new_event.Copy(ev); events.Replace(ev, new_event); break; } }