/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void picBoxMain_DragDrop(object sender, DragEventArgs e) { IconOnPlan icon = null; if (e.Data.GetDataPresent(typeof(TreeNode))) { var dataNode = (TreeNode)e.Data.GetData(typeof(TreeNode)); var sign = dataNode.Tag as EntitySign; icon = FindIcon(sign); if (icon == null) { icon = AddNewIcon(e, sign); } else { icon.NewPosition(PointToClient(new Point(e.X, e.Y))); icon.BringToFront(); } } else if (e.Data.GetDataPresent(typeof(IconOnPlan))) { icon = (IconOnPlan)e.Data.GetData(typeof(IconOnPlan)); icon.NewPosition(PointToClient(new Point(e.X, e.Y))); icon.BringToFront(); } icon.SavePointEntity(); }
/// <summary> /// Добавить новую иконку на план при перетаскивании. /// </summary> /// <param name="e"></param> /// <param name="sign">Идентификатор сущности.</param> /// <returns></returns> private IconOnPlan AddNewIcon(DragEventArgs e, EntitySign sign) { IconOnPlan icon; string textIcon; using (var ec = new EntityController()) { var entity = ec.GetEntity(sign) as Equipment; textIcon = entity.ToString(); } this.SuspendDrawing(); icon = new IconOnPlan(this, sign, GetSizeIcons(), new ScalePoint(new Point(e.X, e.Y), this), IconsGetter.GetIconImage(sign.Type), textIcon); this.ResumeDrawing(); return(icon); }