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 de 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>]
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 chacun. Le repeint du est supprimé à l’aide TreeView des BeginUpdate méthodes et EndUpdate , et une attente Cursor s’affiche pendant que le TreeView crée et peint les TreeNode objets. 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 actif TreeNode. Vous pouvez ajouter, supprimer ou cloner un TreeNode; dans ce cas, 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 rendre difficile de déterminer où vous vous trouvez dans le 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 la Text propriété explicitement. L’alternative consiste à créer le nœud d’arborescence à l’aide de l’un TreeNode des constructeurs qui a un paramètre string qui représente la Text propriété. L’étiquette s’affiche en regard de l’image TreeNode , le cas échéant.
Pour afficher des images en regard des nœuds d’arborescence, affectez un ImageList à la ImageList propriété du contrôle parent TreeView et affectez un en référençant sa valeur d’index Image dans la ImageList propriété . Définissez la ImageIndex propriété sur la valeur d’index du Image que vous souhaitez afficher lorsque le TreeNode est dans un état non sélectionné. De même, définissez la SelectedImageIndex propriété sur la valeur d’index du Image que vous souhaitez afficher lorsque le TreeNode est sélectionné.
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, NextVisibleNodePrevVisibleNode, . Affectez le TreeNode retourné par l’une des propriétés 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 de nœuds d’arborescence enfants. L’utilisateur peut développer le TreeNode en appuyant sur le bouton plus (+) en regard de , TreeNodes’il s’affiche, ou vous pouvez développer le TreeNode en appelant la Expand méthode . Pour développer tous les niveaux de nœuds d’arborescence enfants 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 , TreeNodes’il s’affiche. Vous pouvez également appeler la Toggle méthode pour alterner entre les TreeNode états développés et réduits.
Les nœuds d’arborescence peuvent éventuellement afficher une case à cocher. Pour afficher les cases à true
cocher, définissez la CheckBoxes propriété de sur TreeView . La Checked propriété est définie sur true
pour les nœuds d’arborescence qui sont dans un état vérifié.
Constructeurs
TreeNode() |
Initialise une nouvelle instance de la classe TreeNode. |
TreeNode(SerializationInfo, StreamingContext) |
Initialise une nouvelle instance de la classe TreeNode à l'aide des informations de sérialisation et de contexte spécifiées. |
TreeNode(String) |
Initialise une nouvelle instance de la classe TreeNode avec le texte d'étiquette spécifié. |
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é. |
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é. |
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. |
Propriétés
BackColor |
Obtient ou définit la couleur d'arrière-plan du nœud d'arbre. |
Bounds |
Obtient les limites du nœud d'arbre. |
Checked |
Obtient ou définit une valeur indiquant si le nœud d'arbre est dans l'état activé. |
ContextMenu |
Obtient le menu contextuel associé à ce nœud d'arborescence. |
ContextMenuStrip |
Obtient ou définit le menu contextuel associé à ce nœud d'arbre. |
FirstNode |
Obtient le premier nœud d'arbre enfant dans la collection de nœuds d'arbre. |
ForeColor |
Obtient ou définit la couleur de premier plan du nœud d'arbre. |
FullPath |
Obtient le chemin d'accès du nœud d'arbre racine au nœud d'arbre en cours. |
Handle |
Obtient le handle du nœud d'arbre. |
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é. |
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é. |
Index |
Obtient la position du nœud d'arbre dans la collection de nœuds d'arbre. |
IsEditing |
Obtient une valeur indiquant si le nœud d'arbre est dans l'état modifiable. |
IsExpanded |
Obtient une valeur indiquant si le nœud d'arbre est dans l'état développé. |
IsSelected |
Obtient une valeur indiquant si le nœud d'arbre est dans l'état sélectionné. |
IsVisible |
Obtient une valeur indiquant si le nœud d'arbre est visible ou partiellement visible. |
LastNode |
Obtient le dernier nœud d'arbre enfant. |
Level |
Obtient la profondeur de base zéro du nœud d'arbre dans le contrôle TreeView. |
Name |
Obtient ou définit le nom du nœud d'arbre. |
NextNode |
Obtient le nœud d'arbre frère suivant. |
NextVisibleNode |
Obtient le nœud d'arbre visible suivant. |
NodeFont |
Obtient ou définit la police utilisée pour afficher le texte sur l'étiquette du nœud d'arborescence. |
Nodes |
Obtient la collection d'objets TreeNode assignés au nœud d'arbre en cours. |
Parent |
Obtient le nœud d'arbre parent du nœud d'arbre en cours. |
PrevNode |
Obtient le nœud d'arbre frère précédent. |
PrevVisibleNode |
Obtient le nœud d'arbre visible précédent. |
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é. |
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é. |
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 |
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 |
Tag |
Obtient ou définit l'objet qui contient les données relatives au nœud d'arbre. |
Text |
Obtient ou définit le texte affiché dans l'étiquette du nœud d'arbre. |
ToolTipText |
Obtient ou définit le texte qui apparaît lorsque le pointeur de la souris est placé sur TreeNode. |
TreeView |
Obtient l'arborescence parente à laquelle le nœud d'arbre est assigné. |
Méthodes
BeginEdit() |
Démarre la modification de l'étiquette du nœud d'arbre. |
Clone() |
Copie le nœud d'arbre et l'ensemble du sous-arbre rattaché à ce nœud d'arbre. |
Collapse() |
Réduit le nœud d'arbre. |
Collapse(Boolean) |
Réduit TreeNode et réduit éventuellement ses enfants. |
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. (Hérité de MarshalByRefObject) |
Deserialize(SerializationInfo, StreamingContext) |
Charge l'état du TreeNode à partir du SerializationInfo. |
EndEdit(Boolean) |
Termine la modification de l'étiquette du nœud d'arbre. |
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. |
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'arbre. |
ExpandAll() |
Développe tous les nœuds d'arbre enfants. |
FromHandle(TreeView, IntPtr) |
Retourne le nœud d'arbre assigné au handle spécifié et assigné au contrôle TreeView spécifié. |
GetHashCode() |
Fait office 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 en cours 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'arbre enfants. |
GetType() |
Obtient le 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 Object actuel. (Hérité de Object) |
MemberwiseClone(Boolean) |
Crée une copie superficielle de l'objet MarshalByRefObject actuel. (Hérité de MarshalByRefObject) |
Remove() |
Supprime le nœud d'arbre en cours du contrôle TreeView. |
Serialize(SerializationInfo, StreamingContext) |
Enregistre l'état du TreeNode dans le SerializationInfo spécifié. |
Toggle() |
Fait basculer le nœud d'arbre entre l'état développé ou réduit. |
ToString() |
Retourne une chaîne qui représente l'objet actuel. |
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. |