TreeView a klasa dziedzicząca po TreeNode.

0

Hej, załóżmy, że mając klasę:

public class NTreeNode : TreeNode
    {
        public string OnCheckName;
        public string FullName;
        public string Price;
    }

Chce, aby moj treeView posiadał elementy owej klasy, ale tylko w 2 rzędzie drzewa, tj:

          /                                        |                                       |                          
       [TD]                                   [TD]                                  [TD]                     
   /     |   \       \                 /      |     |      \        \               /     |         \        \

[NTD][NTD][NTD][NTD] [NTD][NTD][NTD][NTD][NTD] [NTD][NTD][NTD][NTD]

TD- TreeNode class object
NTD- NTreeNode class object

Jak zaimplementować metodę, która dodaje obiekt klasy NTreeNode to treeViewa?

0

http://msdn.microsoft.com/en-us/library/system.windows.forms.treeview.nodes.aspx

patrz przyklad kodu w C# w polowie strony
meritum to:

// Suppress repainting the TreeView until all the objects have been created.
   treeView1.BeginUpdate();

   // Clear the TreeView each time the method is called.
   treeView1.Nodes.Clear();

      foreach(....)
         treeView1.Nodes.Add(    // <------------ TU
           new TreeNode(....)
         );

   // Reset the cursor to the default for all controls.
   Cursor.Current = Cursors.Default;

   // Begin repainting the TreeView.
   treeView1.EndUpdate();

metoda Add kolekcji Nodes [btw. taka kolekcje ma zarowno TreeView jak i TreeNode!] pobiera wystapienie obiektu typu TreeNode. Twoje obiekty NTreeNode dziedzicza po tym, wiec tez "sa typu TreeNode", wiec nadaja sie w 100% zeby podawac je tej metodzie i po prostu wykorzystac standardowy mechanizm dodawania elementow do drzewka treeview

uwaga: metody odbierajace elementy z kolekcji beda tez zwracac TreeNode -- ale to beda Twoje obiekty wstawione tam wczesniej, tylko widoczne jako bazowy typ, ot, musisz je sobie zrzutowac na ta konkretna subclass'e

*edit: kontynuacja: http:*4programmers.net/Forum/viewtopic.php?id=140814

1 użytkowników online, w tym zalogowanych: 0, gości: 1