/// <summary>
    /// 更新选中操作
    /// </summary>
    void UpdateSelectNodeOperate(Node select)
    {
        if (select != null)
        {
            bool is_ctrl_click  = Event.current.control;
            bool is_shift_click = Event.current.shift;

            //选中操作
            if (is_ctrl_click)
            {
                ToggleSelectNode(select);
                if (last_click_node_ == null || select.Index < last_click_node_.Index)
                {
                    last_click_node_ = select;
                }
            }
            else if (is_shift_click)
            {
                ClearSelectedNodes();

                if (Group != null)
                {
                    int begin = 0;
                    int end   = 0;
                    if (last_click_node_.Index < select.Index)
                    {
                        begin = last_click_node_.Index;
                        end   = select.Index;
                    }
                    else
                    {
                        begin = select.Index;
                        end   = last_click_node_.Index;
                    }
                    var list = Group.GetRange(begin, end);
                    SelectMultiNode(list);
                }
            }
            else
            {
                //消除之前选中的数据的焦点
                ClearSelectedNodes();
                SelectNode(select);
                last_click_node_ = select;
            }
        }
    }