示例#1
0
        //void m_menu_Opening(object sender, System.ComponentModel.CancelEventArgs e)
        //{
        //    m_menu.Items.Clear();
        //    m_node.GetPopupMenu(new MenuBuilder(m_menu.Items));
        //}

        //void m_menu_Popup(object sender, EventArgs e)
        //{
        //    //m_menu.MenuItems.Clear();
        //    m_menu.Items.Clear();
        //    m_node.GetPopupMenu(new PopupMenuBuilder(m_menu, m_tree));
        //}

        public bool AllowExpand()
        {
            if (!m_node.AllowExpand())
            {
                return(false);
            }
            MacroManager.ExpandNode(m_node);
            if (m_filledChildren)
            {
                m_node.NotifyExpanded();
                return(true);
            }
            if (!m_node.PreparedChildren)
            {
                ProcessRegister.AddBackgroundTask("s_expand");
                m_node.BeginLoadChildren(Async.CreateInvokeCallback(Invoker, OnPreparedExpand));
                m_expanding = true;
                RefreshSelf();
                return(false);
            }
            FillChildren();
            m_node.NotifyExpanded();
            return(true);
        }