/// <summary> /// 마우스키를 뗐을 때.. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void wTree_MouseUp(object sender, MouseEventArgs e) { if (_doubleClicked) { _doubleClicked = false; return; } Point pt; //= new Point(e.X - Margin.Left, e.Y - Margin.Top); wTreeNode mouseUpNode = GetNodeFromPoint(e.Location, out pt);// _pressedNode; //Point pt; //wTreeNode clickedNode = GetNodeFromPoint(e.Location, out pt);// _pressedNode; //wTreeNodeItem item = clickedNode.GetItemFromPoint(pt); //wTreeNodeItemMouseArgs args = new wTreeNodeItemMouseArgs(e); //if (E_TreeNodeDoubleClicked != null) E_TreeNodeDoubleClicked(clickedNode, item, args); wTreeNodeItem item = (mouseUpNode == null)? null : mouseUpNode.GetItemFromPoint(pt); wTreeNodeItemMouseArgs args = new wTreeNodeItemMouseArgs(new MouseEventArgs(e.Button, e.Clicks, pt.X, pt.Y, e.Delta)); if (E_TreeNodeMouseUp != null) { E_TreeNodeMouseUp(mouseUpNode, mouseUpNode.GetItemFromPoint(pt), args); } if (args.IsCanceled) { return; } SelectionHandler.FixSelections(); if (_pressedNode != null && mouseUpNode != null) { bool isDragging; if (_pressedNode != mouseUpNode) { isDragging = true; } else { isDragging = false; } if (EditorHandler.ActivatedEditor != null && EditorHandler.ActivatedEditor.ItemToEdit != item) { EditorHandler.HideEditor(); } if (e.Button == System.Windows.Forms.MouseButtons.Left) { if ((ModifierKeys & Keys.Control) == Keys.Control) { if (isDragging)//selection { } else //제자리 클릭.. { } } else if ((ModifierKeys & Keys.Shift) == Keys.Shift) { } else { } } if (item != null && isDragging == false) //item clicked or right clicked { if (e.Button == System.Windows.Forms.MouseButtons.Left) //item clicked { if (Control.ModifierKeys == Keys.None) {//click } else if ((Control.ModifierKeys & Keys.Control) == Keys.Control) { } else if ((Control.ModifierKeys & Keys.Shift) == Keys.Shift) { } else if ((Control.ModifierKeys & Keys.Alt) == Keys.Alt) { } } } } _pressedNode = null; SelectionHandler.ReleaseTempSelection(); _lastMouseUpNode = mouseUpNode; _lastMouseUpItem = item; DrawHandler.ReDrawTree(false); //SetNodeSelected(selectedNode, pt); //this.Focus(); }