首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

关于TreeView加载有关问题

2013-04-02 
关于TreeView加载问题最近开发时遇到一个比较奇怪的问题,希望有高手帮忙解答一下,下面贴代码:private void

关于TreeView加载问题
最近开发时遇到一个比较奇怪的问题,希望有高手帮忙解答一下,下面贴代码:


        private void LoadTree()
        {
            tree.BeginUpdate();
            try
            {
                tree.Nodes.Clear();
                TreeDatas datas = LoadData();       //从数据库获取数据
                TreeNode rootNode = tree.Nodes.Add(datas.Name);     //添加根节点
                AddChildren(rootNode, datas);       //递归添加子节点
            }
            finally
            {
                tree.EndUpdate();
                tree.ExpandAll();
            }
        }


上面的大致就是加载TreeView的代码(修改了部分代码以便大家阅读)。一共4000多条数据,如果正常运行程序,大概TreeView要10s-20s才能显示出来,但是只要在程序中任意处加入断点,比如红色部分,运行到断点马上按F5,TreeView就立刻加载完毕并显示,总共时间大概1s-2s,这是什么原因?
TreeView
[解决办法]
因为由于递归的原因你的BeginUpdate和EndUpdate没有配对。
[解决办法]
问题没发现,
有一点建议
TreeDatas datas = LoadData();       //从数据库获取数据
这行似乎写在TreeView变更之前更为合适,你说呢

热点排行