コード例 #1
0
ファイル: CopyEditTool.cs プロジェクト: yasenRK/Tida.CAD
        /// <summary>
        /// 根据鼠标按下的位置,更新拷贝的绘制对象(非原件)的选中状态;
        /// </summary>
        private void CanvasContext_ClickSelect(object sender, ClickSelectEventArgs e)
        {
            var hitPosition = e.HitPosition;

            if (hitPosition == null)
            {
                return;
            }

            //若Control键被按下,更新绘制对象(非原件)的选中状态后返回,使得外部继续执行队列;
            if (CheckIsContrlKeyDown())
            {
                _copiedDrawObjects.ForEach(p => {
                    if (p.PointInObject(hitPosition, CanvasContext.CanvasProxy))
                    {
                        p.IsSelected = !p.IsSelected;
                    }
                });
                this.RaiseVisualChanged();
            }
            else
            {
                e.Cancel = true;
            }
        }
コード例 #2
0
ファイル: TrimEditTool.cs プロジェクト: yasenRK/Tida.CAD
        private void CanvasContext_ClickSelect(object sender, ClickSelectEventArgs e)
        {
            if (CanvasContext == null)
            {
                return;
            }

            if ((CanvasContext.InputDevice.KeyBoard.ModifierKeys & ModifierKeys.Control) != ModifierKeys.Control)
            {
                e.Cancel = true;
            }
        }
コード例 #3
0
        private void CanvasContext_ClickSelect(object sender, ClickSelectEventArgs e)
        {
            if (e.HitedDrawObjects.Length == 1)
            {
                return;
            }

            if (e.HitedDrawObjects.Length > 1)
            {
                var slDrawObject = _drawObjectSelector.SelectOneDrawObject(e.HitedDrawObjects);
                if (slDrawObject != null)
                {
                    slDrawObject.IsSelected = true;
                }
                e.Cancel = true;
            }
        }