2015-05-27 2 views
-5
List<string> devices = new List<string>(); 
     devices.Add("Register 1"); 
     devices.Add("Register 2"); 
     devices.Add("AIO 1"); 


     TreeNode[] registers = new TreeNode[2]; 
     TreeNode[] AIOs = new TreeNode[1]; 

     int r = 0; 
     int a = 0; 
     foreach (string name in devices) 
     { 
      if (name.Contains("Register")) 
      { 
       registers[r] = new TreeNode("Register " + (r + 1)); 
       registers[r].Name = "Register " + (r + 1); 
       registers[r].Text = "Register " + (r + 1); 
       r++; 
      } if (name.Contains("AIO")) 
      { 
       AIOs[a] = new TreeNode("AIO " + (a + 1)); 
       AIOs[a].Name = "AIO " + (a + 1); 
       AIOs[a].Text = "AIO " + (a + 1); 
       a++; 
      } 
     } 
     System.Windows.Forms.TreeNode treeNode1 = new   System.Windows.Forms.TreeNode("Controller"); 
     System.Windows.Forms.TreeNode treeNode6 = new System.Windows.Forms.TreeNode("Registers", registers); 
     System.Windows.Forms.TreeNode treeNode9 = new System.Windows.Forms.TreeNode("AIOs", AIOs); 
     System.Windows.Forms.TreeNode treeNode10 = new System.Windows.Forms.TreeNode("Router"); 
     System.Windows.Forms.TreeNode treeNode11 = new System.Windows.Forms.TreeNode("Store"); 

Это подходящий код. Я изменил класс form1.designer, чтобы на основе списка элементов он сгенерировал их и добавил их в список. Он говорит, что я не могу изменить дизайнера, каким-то образом?C# Дизайнер не может обработать код

Редактировать: Хорошо, поэтому не редактируйте форму 1. Но скажем, я хочу, чтобы дерево было основано на количестве регистров или aios, и это число может меняться. Как я могу сделать это так, чтобы форма 1 могла каждый раз создавать разные количества деревьев?

+0

«Я изменил класс form1.designer» - не делать !! !! –

ответ

0

Если ваше дерево необходимо динамически загружать из источника данных, вы должны сделать это в событии загрузки формы, вместо того чтобы напрямую изменять его из класса конструктора.

Или, если дерево никогда не изменяется, вы можете использовать свойство Nodes в панели инструментов конструктора, чтобы добавить туда узлы.

Изменение кодов из класса Дизайнер никогда не является хорошей практикой, поскольку изменения будут потеряны, если вы делаете что-либо с формой в конструктор экрана формы

Смежные вопросы