TreeNode Classe

Définition

Représente un nœud de TreeView.Represents a node of a TreeView.

public ref class TreeNode : MarshalByRefObject, ICloneable, System::Runtime::Serialization::ISerializable
[System.ComponentModel.TypeConverter(typeof(System.Windows.Forms.TreeNodeConverter))]
public class TreeNode : MarshalByRefObject, ICloneable, System.Runtime.Serialization.ISerializable
[System.ComponentModel.TypeConverter(typeof(System.Windows.Forms.TreeNodeConverter))]
[System.Serializable]
public class TreeNode : MarshalByRefObject, ICloneable, System.Runtime.Serialization.ISerializable
type TreeNode = class
    inherit MarshalByRefObject
    interface ICloneable
    interface ISerializable
Public Class TreeNode
Inherits MarshalByRefObject
Implements ICloneable, ISerializable
Héritage
Dérivé
Attributs
Implémente

Exemples

L’exemple de code suivant affiche des informations sur le client dans un contrôle de TreeView.The following code example displays customer information in a TreeView control. Les nœuds d’arbre racine affichent les noms des clients, et les nœuds d’arbre enfants affichent les numéros de commande attribués à chaque client.The root tree nodes display customer names, and the child tree nodes display the order numbers assigned to each customer. Dans cet exemple, 1 000 clients sont affichés avec 15 commandes chacune.In this example, 1,000 customers are displayed with 15 orders each. Le redessin de l' TreeView est supprimé à l’aide des méthodes BeginUpdate et EndUpdate, et un Cursor d’attente est affiché pendant que l' TreeView crée et peint les objets TreeNode.The repainting of the TreeView is suppressed by using the BeginUpdate and EndUpdate methods, and a wait Cursor is displayed while the TreeView creates and paints the TreeNode objects. Cet exemple nécessite que vous disposiez d’un objet Customer qui peut contenir une collection d’objets Order.This example requires that you have a Customer object that can hold a collection of Order objects. Elle requiert également que vous ayez créé une instance d’un contrôle TreeView sur une Form.It also requires that you have created an instance of a TreeView control on a Form.

// The basic Customer class.
ref class Customer: public System::Object
{
private:
   String^ custName;

protected:
   ArrayList^ custOrders;

public:
   Customer( String^ customername )
   {
      custName = "";
      custOrders = gcnew ArrayList;
      this->custName = customername;
   }


   property String^ CustomerName 
   {
      String^ get()
      {
         return this->custName;
      }

      void set( String^ value )
      {
         this->custName = value;
      }

   }

   property ArrayList^ CustomerOrders 
   {
      ArrayList^ get()
      {
         return this->custOrders;
      }

   }

};


// End Customer class
// The basic customer Order class.
ref class Order: public System::Object
{
private:
   String^ ordID;

public:
   Order( String^ orderid )
   {
      ordID = "";
      this->ordID = orderid;
   }


   property String^ OrderID 
   {
      String^ get()
      {
         return this->ordID;
      }

      void set( String^ value )
      {
         this->ordID = value;
      }

   }

};
// End Order class



void FillMyTreeView()
{
   // Add customers to the ArrayList of Customer objects.
   for ( int x = 0; x < 1000; x++ )
   {
      customerArray->Add( gcnew Customer( "Customer " + x ) );
   }
   
   // Add orders to each Customer object in the ArrayList.
   IEnumerator^ myEnum = customerArray->GetEnumerator();
   while ( myEnum->MoveNext() )
   {
      Customer^ customer1 = safe_cast<Customer^>(myEnum->Current);
      for ( int y = 0; y < 15; y++ )
      {
         customer1->CustomerOrders->Add( gcnew Order( "Order " + y ) );
      }
   }

   // Display a wait cursor while the TreeNodes are being created.
   ::Cursor::Current = gcnew System::Windows::Forms::Cursor( "MyWait.cur" );
   
   // 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();
   
   // Add a root TreeNode for each Customer object in the ArrayList.
   myEnum = customerArray->GetEnumerator();
   while ( myEnum->MoveNext() )
   {
      Customer^ customer2 = safe_cast<Customer^>(myEnum->Current);
      treeView1->Nodes->Add( gcnew TreeNode( customer2->CustomerName ) );
      
      // Add a child treenode for each Order object in the current Customer object.
      IEnumerator^ myEnum = customer2->CustomerOrders->GetEnumerator();
      while ( myEnum->MoveNext() )
      {
         Order^ order1 = safe_cast<Order^>(myEnum->Current);
         treeView1->Nodes[ customerArray->IndexOf( customer2 ) ]->Nodes->Add( gcnew TreeNode( customer2->CustomerName + "." + order1->OrderID ) );
      }
   }
   
   // Reset the cursor to the default for all controls.
   ::Cursor::Current = Cursors::Default;
   
   // Begin repainting the TreeView.
   treeView1->EndUpdate();
}

// The basic Customer class.
public class Customer : System.Object
{
   private string custName = "";
   protected ArrayList custOrders = new ArrayList();

   public Customer(string customername)
   {
      this.custName = customername;
   }

   public string CustomerName
   {      
      get{return this.custName;}
      set{this.custName = value;}
   }

   public ArrayList CustomerOrders 
   {
      get{return this.custOrders;}
   }
} // End Customer class 

// The basic customer Order class.
public class Order : System.Object
{
   private string ordID = "";

   public Order(string orderid)
   {
      this.ordID = orderid;
   }

   public string OrderID
   {      
      get{return this.ordID;}
      set{this.ordID = value;}
   }
} // End Order class

// Create a new ArrayList to hold the Customer objects.
private ArrayList customerArray = new ArrayList(); 

private void FillMyTreeView()
{
   // Add customers to the ArrayList of Customer objects.
   for(int x=0; x<1000; x++)
   {
      customerArray.Add(new Customer("Customer" + x.ToString()));
   }

   // Add orders to each Customer object in the ArrayList.
   foreach(Customer customer1 in customerArray)
   {
      for(int y=0; y<15; y++)
      {
         customer1.CustomerOrders.Add(new Order("Order" + y.ToString()));    
      }
   }

   // Display a wait cursor while the TreeNodes are being created.
   Cursor.Current = new Cursor("MyWait.cur");
        
   // 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();

   // Add a root TreeNode for each Customer object in the ArrayList.
   foreach(Customer customer2 in customerArray)
   {
      treeView1.Nodes.Add(new TreeNode(customer2.CustomerName));
          
      // Add a child treenode for each Order object in the current Customer object.
      foreach(Order order1 in customer2.CustomerOrders)
      {
         treeView1.Nodes[customerArray.IndexOf(customer2)].Nodes.Add(
           new TreeNode(customer2.CustomerName + "." + order1.OrderID));
      }
   }

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

   // Begin repainting the TreeView.
   treeView1.EndUpdate();
}
Public Class Customer
   Inherits [Object]
   Private custName As String = ""
   Friend custOrders As New ArrayList()

   Public Sub New(ByVal customername As String)
      Me.custName = customername
   End Sub

   Public Property CustomerName() As String
      Get
         Return Me.custName
      End Get
      Set(ByVal Value As String)
         Me.custName = Value
      End Set
   End Property

   Public ReadOnly Property CustomerOrders() As ArrayList
      Get
         Return Me.custOrders
      End Get
   End Property
End Class


Public Class Order
   Inherits [Object]
   Private ordID As String

   Public Sub New(ByVal orderid As String)
      Me.ordID = orderid
   End Sub

   Public Property OrderID() As String
      Get
         Return Me.ordID
      End Get
      Set(ByVal Value As String)
         Me.ordID = Value
      End Set
   End Property
End Class

' Create a new ArrayList to hold the Customer objects.
Private customerArray As New ArrayList()

Private Sub FillMyTreeView()
   ' Add customers to the ArrayList of Customer objects.
   Dim x As Integer
   For x = 0 To 999
      customerArray.Add(New Customer("Customer" + x.ToString()))
   Next x

   ' Add orders to each Customer object in the ArrayList.
   Dim customer1 As Customer
   For Each customer1 In customerArray
      Dim y As Integer
      For y = 0 To 14
         customer1.CustomerOrders.Add(New Order("Order" + y.ToString()))
      Next y
   Next customer1

   ' Display a wait cursor while the TreeNodes are being created.
   Cursor.Current = New Cursor("MyWait.cur")

   ' 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()

   ' Add a root TreeNode for each Customer object in the ArrayList.
   Dim customer2 As Customer
   For Each customer2 In customerArray
      treeView1.Nodes.Add(New TreeNode(customer2.CustomerName))

      ' Add a child TreeNode for each Order object in the current Customer object.
      Dim order1 As Order
      For Each order1 In customer2.CustomerOrders
         treeView1.Nodes(customerArray.IndexOf(customer2)).Nodes.Add( _
    New TreeNode(customer2.CustomerName + "." + order1.OrderID))
      Next order1
   Next customer2

   ' Reset the cursor to the default for all controls.
   Cursor.Current = System.Windows.Forms.Cursors.Default

   ' Begin repainting the TreeView.
   treeView1.EndUpdate()
End Sub

Remarques

La collection Nodes contient tous les objets TreeNode enfants assignés à l' TreeNodeen cours.The Nodes collection holds all the child TreeNode objects assigned to the current TreeNode. Vous pouvez ajouter, supprimer ou cloner un TreeNode; dans ce cas, tous les nœuds d’arbre enfants sont ajoutés, supprimés ou clonés.You can add, remove, or clone a TreeNode; when you do this, all child tree nodes are added, removed, or cloned. Chaque TreeNode peut contenir une collection d’autres objets TreeNode.Each TreeNode can contain a collection of other TreeNode objects. Cela peut compliquer la détermination de l’endroit où vous vous trouvez dans le TreeView lors de l’itération au sein de la collection.This can make it difficult to determine where you are in the TreeView when iterating through the collection. Pour déterminer votre emplacement dans une arborescence, utilisez la propriété FullPath.To determine your location in a tree structure, use the FullPath property. La chaîne de FullPath peut être analysée à l’aide de la valeur de chaîne PathSeparator pour déterminer où commence et se termine une étiquette TreeNode.The FullPath string can be parsed using the PathSeparator string value to determine where a TreeNode label begins and ends.

L’étiquette TreeNode est définie en définissant explicitement la propriété Text.The TreeNode label is set by setting the Text property explicitly. L’alternative consiste à créer le nœud d’arbre à l’aide de l’un des constructeurs TreeNode qui possède un paramètre de chaîne qui représente la propriété Text.The alternative is to create the tree node using one of the TreeNode constructors that has a string parameter that represents the Text property. L’étiquette s’affiche à côté de l’image TreeNode, si celle-ci est affichée.The label is displayed next to the TreeNode image, if one is displayed.

Pour afficher des images en regard des nœuds de l’arborescence, assignez un ImageList à la propriété ImageList du contrôle parent TreeView et assignez une Image en référençant sa valeur d’index dans la propriété ImageList.To display images next to the tree nodes, assign an ImageList to the ImageList property of the parent TreeView control and assign an Image by referencing its index value in the ImageList property. Affectez à la propriété ImageIndex la valeur d’index du Image que vous souhaitez afficher lorsque l' TreeNode est dans un état désélectionné.Set the ImageIndex property to the index value of the Image you want to display when the TreeNode is in an unselected state. De même, affectez à la propriété SelectedImageIndex la valeur d’index du Image que vous souhaitez afficher lorsque la TreeNode est sélectionnée.Likewise, set the SelectedImageIndex property to the index value of the Image you want to display when the TreeNode is selected.

La sélection de nœuds d’arbre spécifiques et l’itération au sein de la collection Nodes peuvent être obtenues à l’aide des valeurs de propriété suivantes : FirstNode, LastNode, NextNode, PrevNode, NextVisibleNode, PrevVisibleNode.Selecting specific tree nodes and iterating through the Nodes collection can be achieved by using the following property values: FirstNode, LastNode, NextNode, PrevNode, NextVisibleNode, PrevVisibleNode. Assignez le TreeNode retourné par l’une des propriétés ci-dessus à la propriété TreeView.SelectedNode pour sélectionner ce nœud d’arborescence dans le contrôle TreeView.Assign the TreeNode returned by one of aforementioned properties to the TreeView.SelectedNode property to select that tree node in the TreeView control.

Les nœuds d’arbre peuvent être développés pour afficher le niveau suivant de nœuds d’arbre enfants.Tree nodes can be expanded to display the next level of child tree nodes. L’utilisateur peut développer la TreeNode en appuyant sur le bouton plus (+) en regard de la TreeNode, si elle est affichée, ou vous pouvez développer la TreeNode en appelant la méthode Expand.The user can expand the TreeNode by pressing the plus (+) button next to the TreeNode, if one is displayed, or you can expand the TreeNode by calling the Expand method. Pour développer tous les niveaux de nœud d’arbre enfants dans la collection Nodes, appelez la méthode ExpandAll.To expand all child tree node levels in the Nodes collection, call the ExpandAll method. Vous pouvez réduire le niveau de TreeNode enfant en appelant la méthode Collapse, ou l’utilisateur peut appuyer sur le bouton moins (-) en regard de la TreeNode, si celle-ci est affichée.You can collapse the child TreeNode level by calling the Collapse method, or the user can press the minus (-) button next to the TreeNode, if one is displayed. Vous pouvez également appeler la méthode Toggle pour alterner les TreeNode entre les États développés et réduits.You can also call the Toggle method to alternate the TreeNode between the expanded and collapsed states.

Les nœuds d’arbre peuvent éventuellement afficher une case à cocher.Tree nodes can optionally display a check box. Pour afficher les cases à cocher, affectez la valeur trueà la propriété CheckBoxes du TreeView.To display the check boxes, set the CheckBoxes property of the TreeView to true. La propriété Checked est définie sur true pour les nœuds d’arbre qui sont dans un état activé.The Checked property is set to true for tree nodes that are in a checked state.

Constructeurs

TreeNode()

Initialise une nouvelle instance de la classe TreeNode.Initializes a new instance of the TreeNode class.

TreeNode(SerializationInfo, StreamingContext)

Initialise une nouvelle instance de la classe TreeNode à l'aide des informations de sérialisation et de contexte spécifiées.Initializes a new instance of the TreeNode class using the specified serialization information and context.

TreeNode(String)

Initialise une nouvelle instance de la classe TreeNode avec le texte d'étiquette spécifié.Initializes a new instance of the TreeNode class with the specified label text.

TreeNode(String, Int32, Int32)

Initialise une nouvelle instance de la classe TreeNode avec le texte d'étiquette spécifié et les images à afficher quand le nœud d'arbre est dans l'état sélectionné et non sélectionné.Initializes a new instance of the TreeNode class with the specified label text and images to display when the tree node is in a selected and unselected state.

TreeNode(String, Int32, Int32, TreeNode[])

Initialise une nouvelle instance de la classe TreeNode avec le texte d'étiquette spécifié, les nœuds d'arbre enfants, et les images à afficher quand le nœud d'arbre est dans l'état sélectionné et non sélectionné.Initializes a new instance of the TreeNode class with the specified label text, child tree nodes, and images to display when the tree node is in a selected and unselected state.

TreeNode(String, TreeNode[])

Initialise une nouvelle instance de la classe TreeNode avec le texte d'étiquette spécifié et les nœuds d'arbre enfants.Initializes a new instance of the TreeNode class with the specified label text and child tree nodes.

Propriétés

BackColor

Obtient ou définit la couleur d'arrière-plan du nœud d'arbre.Gets or sets the background color of the tree node.

Bounds

Obtient les limites du nœud d'arbre.Gets the bounds of the tree node.

Checked

Obtient ou définit une valeur indiquant si le nœud d'arbre est dans l'état activé.Gets or sets a value indicating whether the tree node is in a checked state.

ContextMenu

Obtient le menu contextuel associé à ce nœud d'arborescence.Gets the shortcut menu that is associated with this tree node.

ContextMenuStrip

Obtient ou définit le menu contextuel associé à ce nœud d'arbre.Gets or sets the shortcut menu associated with this tree node.

FirstNode

Obtient le premier nœud d'arbre enfant dans la collection de nœuds d'arbre.Gets the first child tree node in the tree node collection.

ForeColor

Obtient ou définit la couleur de premier plan du nœud d'arbre.Gets or sets the foreground color of the tree node.

FullPath

Obtient le chemin d'accès du nœud d'arbre racine au nœud d'arbre en cours.Gets the path from the root tree node to the current tree node.

Handle

Obtient le handle du nœud d'arbre.Gets the handle of the tree node.

ImageIndex

Obtient ou définit la valeur d'index de liste de l'image affichée quand le nœud d'arbre est dans l'état non sélectionné.Gets or sets the image list index value of the image displayed when the tree node is in the unselected state.

ImageKey

Obtient ou définit la clé pour l'image associée à ce nœud d'arbre lorsque le nœud est dans un état désélectionné.Gets or sets the key for the image associated with this tree node when the node is in an unselected state.

Index

Obtient la position du nœud d'arbre dans la collection de nœuds d'arbre.Gets the position of the tree node in the tree node collection.

IsEditing

Obtient une valeur indiquant si le nœud d'arbre est dans l'état modifiable.Gets a value indicating whether the tree node is in an editable state.

IsExpanded

Obtient une valeur indiquant si le nœud d'arbre est dans l'état développé.Gets a value indicating whether the tree node is in the expanded state.

IsSelected

Obtient une valeur indiquant si le nœud d'arbre est dans l'état sélectionné.Gets a value indicating whether the tree node is in the selected state.

IsVisible

Obtient une valeur indiquant si le nœud d'arbre est visible ou partiellement visible.Gets a value indicating whether the tree node is visible or partially visible.

LastNode

Obtient le dernier nœud d'arbre enfant.Gets the last child tree node.

Level

Obtient la profondeur de base zéro du nœud d'arbre dans le contrôle TreeView.Gets the zero-based depth of the tree node in the TreeView control.

Name

Obtient ou définit le nom du nœud d'arbre.Gets or sets the name of the tree node.

NextNode

Obtient le nœud d'arbre frère suivant.Gets the next sibling tree node.

NextVisibleNode

Obtient le nœud d'arbre visible suivant.Gets the next visible tree node.

NodeFont

Obtient ou définit la police utilisée pour afficher le texte sur l'étiquette du nœud d'arborescence.Gets or sets the font that is used to display the text on the tree node label.

Nodes

Obtient la collection d'objets TreeNode assignés au nœud d'arbre en cours.Gets the collection of TreeNode objects assigned to the current tree node.

Parent

Obtient le nœud de l'arborescence parent du nœud de l'arborescence actuel.Gets the parent tree node of the current tree node.

PrevNode

Obtient le nœud d'arbre frère précédent.Gets the previous sibling tree node.

PrevVisibleNode

Obtient le nœud d'arbre visible précédent.Gets the previous visible tree node.

SelectedImageIndex

Obtient ou définit la valeur d'index de liste de l'image affichée quand le nœud d'arbre est dans l'état sélectionné.Gets or sets the image list index value of the image that is displayed when the tree node is in the selected state.

SelectedImageKey

Obtient ou définit la clé de l'image affichée dans le nœud d'arbre lorsqu'il est dans un état sélectionné.Gets or sets the key of the image displayed in the tree node when it is in a selected state.

StateImageIndex

Obtient ou définit l'index de l'image utilisée pour indiquer l'état du TreeNode lorsque la propriété TreeView du CheckBoxes parent a la valeur false.Gets or sets the index of the image that is used to indicate the state of the TreeNode when the parent TreeView has its CheckBoxes property set to false.

StateImageKey

Obtient ou définit la clé de l'image utilisée pour indiquer l'état du TreeNode lorsque la propriété TreeView du CheckBoxes parent a la valeur false.Gets or sets the key of the image that is used to indicate the state of the TreeNode when the parent TreeView has its CheckBoxes property set to false.

Tag

Obtient ou définit l'objet qui contient les données relatives au nœud d'arbre.Gets or sets the object that contains data about the tree node.

Text

Obtient ou définit le texte affiché dans l'étiquette du nœud d'arbre.Gets or sets the text displayed in the label of the tree node.

ToolTipText

Obtient ou définit le texte qui apparaît lorsque le pointeur de la souris est placé sur TreeNode.Gets or sets the text that appears when the mouse pointer hovers over a TreeNode.

TreeView

Obtient l'arborescence parente à laquelle le nœud d'arborescence est affecté.Gets the parent tree view that the tree node is assigned to.

Méthodes

BeginEdit()

Démarre la modification de l'étiquette du nœud d'arbre.Initiates the editing of the tree node label.

Clone()

Copie le nœud d'arbre et l'ensemble du sous-arbre rattaché à ce nœud d'arbre.Copies the tree node and the entire subtree rooted at this tree node.

Collapse()

Réduit le nœud d’arborescence.Collapses the tree node.

Collapse(Boolean)

Réduit TreeNode et réduit éventuellement ses enfants.Collapses the TreeNode and optionally collapses its children.

CreateObjRef(Type)

Crée un objet contenant toutes les informations appropriées requises pour générer un proxy permettant de communiquer avec un objet distant.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Hérité de MarshalByRefObject)
Deserialize(SerializationInfo, StreamingContext)

Charge l'état du TreeNode à partir du SerializationInfo.Loads the state of the TreeNode from the specified SerializationInfo.

EndEdit(Boolean)

Termine la modification de l'étiquette du nœud d'arbre.Ends the editing of the tree node label.

EnsureVisible()

Garantit que le nœud d'arbre est visible, en développant les nœuds d'arbre et en faisant défiler le contrôle TreeView.Ensures that the tree node is visible, expanding tree nodes and scrolling the tree view control as necessary.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.Determines whether the specified object is equal to the current object.

(Hérité de Object)
Expand()

Développe le nœud d'arbre.Expands the tree node.

ExpandAll()

Développe tous les nœuds d'arbre enfants.Expands all the child tree nodes.

FromHandle(TreeView, IntPtr)

Retourne le nœud d'arbre assigné au handle spécifié et assigné au contrôle TreeView spécifié.Returns the tree node with the specified handle and assigned to the specified tree view control.

GetHashCode()

Sert de fonction de hachage par défaut.Serves as the default hash function.

(Hérité de Object)
GetLifetimeService()

Récupère l'objet de service de durée de vie en cours qui contrôle la stratégie de durée de vie de cette instance.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Hérité de MarshalByRefObject)
GetNodeCount(Boolean)

Retourne le nombre de nœuds d'arbre enfants.Returns the number of child tree nodes.

GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Hérité de Object)
InitializeLifetimeService()

Obtient un objet de service de durée de vie pour contrôler la stratégie de durée de vie de cette instance.Obtains a lifetime service object to control the lifetime policy for this instance.

(Hérité de MarshalByRefObject)
MemberwiseClone()

Crée une copie superficielle du Object actuel.Creates a shallow copy of the current Object.

(Hérité de Object)
MemberwiseClone(Boolean)

Crée une copie superficielle de l'objet MarshalByRefObject actuel.Creates a shallow copy of the current MarshalByRefObject object.

(Hérité de MarshalByRefObject)
Remove()

Supprime le nœud d'arbre en cours du contrôle TreeView.Removes the current tree node from the tree view control.

Serialize(SerializationInfo, StreamingContext)

Enregistre l'état du TreeNode dans le SerializationInfo spécifié.Saves the state of the TreeNode to the specified SerializationInfo.

Toggle()

Fait basculer le nœud d'arbre entre l'état développé ou réduit.Toggles the tree node to either the expanded or collapsed state.

ToString()

Retourne une chaîne qui représente l'objet actif.Returns a string that represents the current object.

Implémentations d’interfaces explicites

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Remplit un objet d’informations de sérialisation avec les données nécessaires pour sérialiser TreeNode.Populates a serialization information object with the data needed to serialize the TreeNode.

S’applique à

Voir aussi