2017-01-02 17 views
0

我有一個線程誰將會填充樹節點集合不阻塞主線程(Windows形式)。因此,我調用這些行TreeView.Nodes.Add命令:第一項是空

private void generateListeItems() 
     { 
      try 
      { 
       Item_Coll resultSet = connector.command_LIST(); 
       if(mainFormInvoke != null) 
        mainFormInvoke(formProgressBar, -1); 
       TreeNode racine = new TreeNode(); 
       TreeNode NET = racine.Nodes.Add("Net"); 
       TreeNode LON = NET.Nodes.Add("LON"); 
       List<string> devices = new List<string>(); 

       TreeNode lastDevice = null; 
       int lastDevice_index = -1; 
       TreeNode lastDevice_fb = null; 
       int lastDevice_fb_index = -1; 
       int percentage = 0, lastPercentage = 0, treatedItem = 0; 
       int nombreIndex = resultSet.Item.Count<Item>(); 
       foreach (Item index in resultSet.Item) 
       { 
        string[] substring = index.UCPTname.Split('/'); 
        if (lastDevice == null || substring[2] != lastDevice.Text) 
        { 
         lastDevice = LON.Nodes.Add(substring[2]); 
         lastDevice_index++; 
         lastDevice_fb_index = -1; 
        } 

        if (lastDevice_fb == null || substring[3] != lastDevice_fb.Text) 
        { 
         lastDevice_fb = lastDevice.Nodes.Add(substring[3]); 
         lastDevice_fb_index++; 
        } 

        lastDevice_fb.Nodes.Add(substring[4]); 
        dpDictionnary[index.UCPTname] = index; 
        lastPercentage = percentage; 
        percentage = ++treatedItem * (nombreIndex/100); 
        if(percentage != lastPercentage) 
         mainFormInvoke(formProgressBar, 1); 
       } 

       mainFormInvoke((updatingListeInUI)liste.Nodes.Add, racine); 
       mainFormInvoke(consoleWriter,string.Format("Connexion réussie, récupération de {0} éléments", resultSet.Item.Count<Item>())); 
      }catch(SmartServerException e) 
      { 
       mainFormInvoke(consoleWriter, e.ToString()); 
      } 

     } 

,我得到了這一點:

enter image description here

我不想第一個空元素。我怎麼能通過這個?如圖所示,根

+3

'樹節點拉辛=新樹節點(); TreeNode NET = racine.Nodes.Add(「Net」);'你不想讓它變空,而是讓它變空?對我沒有任何意義 –

+1

如果你不需要,扔掉'racine'節點。只能使用'NET'節點。 –

+0

哦。是的,這很愚蠢。謝謝 –

回答

0
TreeNode racine = new TreeNode("Root"); 
TreeNode NET = racine.Nodes.Add("Net"); 
TreeNode LON = NET.Nodes.Add("LON"); 

組默認節點之上