TreeNode Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Représente un nœud d’un TreeView.
public ref 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
[System.ComponentModel.TypeConverter(typeof(System.Windows.Forms.TreeNodeConverter))]
[System.Serializable]
[System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembers(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)]
public class TreeNode : MarshalByRefObject, ICloneable, System.Runtime.Serialization.ISerializable
[<System.ComponentModel.TypeConverter(typeof(System.Windows.Forms.TreeNodeConverter))>]
[<System.Serializable>]
type TreeNode = class
inherit MarshalByRefObject
interface ICloneable
interface ISerializable
[<System.ComponentModel.TypeConverter(typeof(System.Windows.Forms.TreeNodeConverter))>]
[<System.Serializable>]
[<System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembers(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)>]
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 les informations client dans un TreeView contrôle. Les nœuds d’arborescence racine affichent les noms des clients et les nœuds d’arborescence enfants affichent les numéros de commande attribués à chaque client. Dans cet exemple, 1 000 clients sont affichés avec 15 commandes chacune. La réinitialisation de l’objet TreeView est supprimée à l’aide BeginUpdate des méthodes et EndUpdate des méthodes, et une attente Cursor s’affiche pendant que les TreeView objets sont créés et peints TreeNode . Cet exemple nécessite que vous disposiez d’un Customer objet qui peut contenir une collection d’objets Order . Il nécessite également que vous ayez créé une instance d’un TreeView contrôle sur un 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 Nodes collection contient tous les objets enfants TreeNode affectés au fichier actif TreeNode. Vous pouvez ajouter, supprimer ou cloner un TreeNode; lorsque vous effectuez cette opération, tous les nœuds d’arborescence enfants sont ajoutés, supprimés ou clonés. Chacun TreeNode peut contenir une collection d’autres TreeNode objets. Cela peut compliquer la détermination de l’emplacement où vous vous trouvez lors de l’itération TreeView dans la collection. Pour déterminer votre emplacement dans une arborescence, utilisez la FullPath propriété. La FullPath chaîne peut être analysée à l’aide de la PathSeparator valeur de chaîne pour déterminer où une TreeNode étiquette commence et se termine.
L’étiquette TreeNode est définie en définissant explicitement la Text propriété. L’alternative consiste à créer le nœud d’arborescence à l’aide de l’un TreeNode des constructeurs qui a un paramètre de chaîne qui représente la Text propriété. L’étiquette s’affiche en regard de l’image TreeNode , si elle est affichée.
Pour afficher des images en regard des nœuds d’arborescence, affectez une ImageList à la ImageList propriété du contrôle parent TreeView et attribuez-en Image référençant sa valeur d’index dans la ImageList propriété. Définissez la propriété sur la ImageIndex valeur d’index de l’objet Image à afficher lorsque celui-ci TreeNode est dans un état non sélectionné. De même, définissez la SelectedImageIndex propriété sur la valeur d’index de l’objet Image que vous souhaitez afficher lorsque celle-ci TreeNode est sélectionnée.
La sélection de nœuds d’arborescence spécifiques et l’itération dans la Nodes collection peuvent être obtenues à l’aide des valeurs de propriété suivantes : FirstNode, , LastNode, NextNode, PrevNode, NextVisibleNode. PrevVisibleNode Affectez l’une TreeNode des propriétés mentionnées ci-dessus à la TreeView.SelectedNode propriété pour sélectionner ce nœud d’arborescence dans le TreeView contrôle.
Les nœuds d’arborescence peuvent être développés pour afficher le niveau suivant des nœuds d’arborescence enfants. L’utilisateur peut développer le TreeNode bouton en appuyant sur le bouton plus (+) en regard du TreeNodebouton , si celui-ci est affiché, ou vous pouvez le développer TreeNode en appelant la Expand méthode. Pour développer tous les niveaux de nœud d’arborescence enfant dans la Nodes collection, appelez la ExpandAll méthode. Vous pouvez réduire le niveau enfant TreeNode en appelant la Collapse méthode, ou l’utilisateur peut appuyer sur le bouton moins (-) en regard de celui-ci TreeNode, si celui-ci est affiché. Vous pouvez également appeler la Toggle méthode pour alterner les TreeNode états développés et réduits.
Les nœuds d’arborescence peuvent éventuellement afficher une case à cocher. Pour afficher les cases à cocher, définissez la CheckBoxes propriété sur trueTreeView . La Checked propriété est définie true pour les nœuds d’arborescence qui sont dans un état vérifié.
Constructeurs
| Nom | Description |
|---|---|
| TreeNode() |
Initialise une nouvelle instance de la classe TreeNode. |
| TreeNode(SerializationInfo, StreamingContext) |
Initialise une nouvelle instance de la TreeNode classe à l’aide des informations et du contexte de sérialisation spécifiés. |
| TreeNode(String, Int32, Int32, TreeNode[]) |
Initialise une nouvelle instance de la TreeNode classe avec le texte d’étiquette spécifié, les nœuds d’arborescence enfants et les images à afficher lorsque le nœud d’arborescence est dans un état sélectionné et non sélectionné. |
| TreeNode(String, Int32, Int32) |
Initialise une nouvelle instance de la TreeNode classe avec le texte et les images d’étiquette spécifiés à afficher lorsque le nœud d’arborescence est dans un état sélectionné et non sélectionné. |
| TreeNode(String, TreeNode[]) |
Initialise une nouvelle instance de la TreeNode classe avec le texte d’étiquette et les nœuds d’arborescence enfants spécifiés. |
| TreeNode(String) |
Initialise une nouvelle instance de la TreeNode classe avec le texte d’étiquette spécifié. |
Propriétés
| Nom | Description |
|---|---|
| BackColor |
Obtient ou définit la couleur d’arrière-plan du nœud d’arborescence. |
| Bounds |
Obtient les limites du nœud d’arborescence. |
| Checked |
Obtient ou définit une valeur indiquant si le nœud d’arborescence est dans un état vérifié. |
| ContextMenu |
Obtient le menu contextuel associé à ce nœud d’arborescence. |
| ContextMenuStrip |
Obtient ou définit le menu contextuel associé à ce nœud d’arborescence. |
| FirstNode |
Obtient le premier nœud d’arborescence enfant dans la collection de nœuds d’arborescence. |
| ForeColor |
Obtient ou définit la couleur de premier plan du nœud d’arborescence. |
| FullPath |
Obtient le chemin d’accès du nœud d’arborescence racine au nœud d’arborescence actuel. |
| Handle |
Obtient le handle du nœud d’arborescence. |
| ImageIndex |
Obtient ou définit la valeur d’index de la liste d’images de l’image affichée lorsque le nœud d’arborescence est dans l’état non sélectionné. |
| ImageKey |
Obtient ou définit la clé de l’image associée à ce nœud d’arborescence lorsque le nœud est dans un état non sélectionné. |
| Index |
Obtient la position du nœud d’arborescence dans la collection de nœuds d’arborescence. |
| IsEditing |
Obtient une valeur indiquant si le nœud d’arborescence est dans un état modifiable. |
| IsExpanded |
Obtient une valeur indiquant si le nœud d’arborescence est dans l’état développé. |
| IsSelected |
Obtient une valeur indiquant si le nœud d’arborescence est dans l’état sélectionné. |
| IsVisible |
Obtient une valeur indiquant si le nœud d’arborescence est visible ou partiellement visible. |
| LastNode |
Obtient le dernier nœud d’arborescence enfant. |
| Level |
Obtient la profondeur de base zéro du nœud d’arborescence dans le TreeView contrôle. |
| Name |
Obtient ou définit le nom du nœud d’arborescence. |
| NextNode |
Obtient le nœud d’arborescence frère suivant. |
| NextVisibleNode |
Obtient le nœud d’arborescence visible suivant. |
| NodeFont |
Obtient ou définit la police utilisée pour afficher le texte sur l’étiquette de nœud d’arborescence. |
| Nodes |
Obtient la collection d’objets TreeNode affectés au nœud d’arborescence actuel. |
| Parent |
Obtient le nœud d’arborescence parent du nœud d’arborescence actuel. |
| PrevNode |
Obtient le nœud d’arbre frère précédent. |
| PrevVisibleNode |
Obtient le nœud d’arborescence visible précédent. |
| SelectedImageIndex |
Obtient ou définit la valeur d’index de la liste d’images de l’image affichée lorsque le nœud d’arborescence est dans l’état sélectionné. |
| SelectedImageKey |
Obtient ou définit la clé de l’image affichée dans le nœud d’arborescence lorsqu’elle est dans un état sélectionné. |
| StateImageIndex |
Obtient ou définit l’index de l’image utilisée pour indiquer l’état du TreeNode moment où le parent TreeView a sa CheckBoxes propriété définie |
| StateImageKey |
Obtient ou définit la clé de l’image utilisée pour indiquer l’état du TreeNode moment où le parent TreeView a sa CheckBoxes propriété définie |
| Tag |
Obtient ou définit l’objet qui contient des données sur le nœud d’arborescence. |
| Text |
Obtient ou définit le texte affiché dans l’étiquette du nœud d’arborescence. |
| ToolTipText |
Obtient ou définit le texte qui s’affiche lorsque le pointeur de la souris pointe sur un TreeNode. |
| TreeView |
Obtient l’arborescence parente à laquelle le nœud d’arbre est affecté. |
Méthodes
| Nom | Description |
|---|---|
| BeginEdit() |
Lance la modification de l’étiquette de nœud d’arbre. |
| Clone() |
Copie le nœud d’arborescence et l’intégralité de la sous-arborescence enracinée à ce nœud d’arborescence. |
| Collapse() |
Réduit le nœud d’arborescence. |
| Collapse(Boolean) |
Réduit et TreeNode réduit éventuellement ses enfants. |
| CreateObjRef(Type) |
Crée un objet qui contient toutes les informations pertinentes requises pour générer un proxy utilisé pour communiquer avec un objet distant. (Hérité de MarshalByRefObject) |
| Deserialize(SerializationInfo, StreamingContext) |
Charge l’état du TreeNode fichier à partir de l’objet spécifié SerializationInfo. |
| EndEdit(Boolean) |
Termine la modification de l’étiquette de nœud d’arborescence. |
| EnsureVisible() |
Garantit que le nœud d’arborescence est visible, développe les nœuds d’arborescence et fait défiler le contrôle d’arborescence si nécessaire. |
| Equals(Object) |
Détermine si l’objet spécifié est égal à l’objet actuel. (Hérité de Object) |
| Expand() |
Développe le nœud d’arborescence. |
| ExpandAll() |
Développe tous les nœuds d’arborescence enfants. |
| FromHandle(TreeView, IntPtr) |
Retourne le nœud d’arborescence avec le handle spécifié et affecté au contrôle d’arborescence spécifié. |
| GetHashCode() |
Sert de fonction de hachage par défaut. (Hérité de Object) |
| GetLifetimeService() |
Obsolète.
Récupère l’objet de service de durée de vie actuel qui contrôle la stratégie de durée de vie de cette instance. (Hérité de MarshalByRefObject) |
| GetNodeCount(Boolean) |
Retourne le nombre de nœuds d’arborescence enfants. |
| GetType() |
Obtient la Type de l’instance actuelle. (Hérité de Object) |
| InitializeLifetimeService() |
Obsolète.
Obtient un objet de service de durée de vie pour contrôler la stratégie de durée de vie de cette instance. (Hérité de MarshalByRefObject) |
| MemberwiseClone() |
Crée une copie superficielle du Objectactuel. (Hérité de Object) |
| MemberwiseClone(Boolean) |
Crée une copie superficielle de l’objet actuel MarshalByRefObject . (Hérité de MarshalByRefObject) |
| Remove() |
Supprime le nœud d’arborescence actuel du contrôle d’arborescence. |
| Serialize(SerializationInfo, StreamingContext) |
Enregistre l’état du TreeNode fichier dans le fichier spécifié SerializationInfo. |
| Toggle() |
Bascule le nœud d’arborescence à l’état développé ou réduit. |
| ToString() |
Retourne une chaîne qui représente l’objet actuel. |
Implémentations d’interfaces explicites
| Nom | Description |
|---|---|
| ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
Remplit un objet d’informations de sérialisation avec les données nécessaires pour sérialiser le TreeNode. |