TreeNode Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Vertegenwoordigt een knooppunt van een 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
- Overname
- Afgeleid
- Kenmerken
- Implementeringen
Voorbeelden
In het volgende codevoorbeeld worden klantgegevens in een TreeView besturingselement weergegeven. De hoofdstructuurknooppunten geven klantnamen weer en de onderliggende boomstructuurknooppunten geven de ordernummers weer die aan elke klant zijn toegewezen. In dit voorbeeld worden 1000 klanten weergegeven met elk 15 orders. Het herschilderen van de objecten TreeView wordt onderdrukt met behulp van de BeginUpdate en EndUpdate methoden en er wordt een wachttijd Cursor weergegeven terwijl de TreeViewTreeNode objecten worden gemaakt en verft. Voor dit voorbeeld moet u een Customer object hebben dat een verzameling Order objecten kan bevatten. Het vereist ook dat u een exemplaar van een TreeView besturingselement hebt gemaakt op een 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
Opmerkingen
De Nodes verzameling bevat alle onderliggende TreeNode objecten die zijn toegewezen aan de huidige TreeNode. U kunt een TreeNode; wanneer u dit doet, alle onderliggende boomknooppunten worden toegevoegd, verwijderd of gekloond. Elk TreeNode object kan een verzameling andere TreeNode objecten bevatten. Dit kan het lastig maken om te bepalen waar u zich bevindt bij het TreeView doorlopen van de verzameling. Gebruik de FullPath eigenschap om uw locatie in een structuurstructuur te bepalen. De FullPath tekenreeks kan worden geparseerd met behulp van de PathSeparator tekenreekswaarde om te bepalen waar een TreeNode label begint en eindigt.
Het TreeNode label wordt ingesteld door de Text eigenschap expliciet in te stellen. Het alternatief is om het structuurknooppunt te maken met behulp van een van de TreeNode constructors met een tekenreeksparameter die de Text eigenschap vertegenwoordigt. Het label wordt naast de TreeNode afbeelding weergegeven, als er een wordt weergegeven.
Als u afbeeldingen naast de structuurknooppunten wilt weergeven, wijst u een ImageList toe aan de ImageList eigenschap van het bovenliggende TreeView besturingselement en wijst u een Image toe door te verwijzen naar de indexwaarde in de ImageList eigenschap. Stel de ImageIndex eigenschap in op de indexwaarde van de Image waarde die u wilt weergeven wanneer de TreeNode eigenschap een niet-geselecteerde status heeft. Stel de SelectedImageIndex eigenschap ook in op de indexwaarde van de Image waarde die u wilt weergeven wanneer de TreeNode eigenschap is geselecteerd.
Het selecteren van specifieke boomknooppunten en het doorlopen van de Nodes verzameling kan worden bereikt met behulp van de volgende eigenschapswaarden: FirstNode, , LastNodeNextNode, PrevNode, , . NextVisibleNodePrevVisibleNode Wijs de TreeNode geretourneerde door een van bovengenoemde eigenschappen toe aan de TreeView.SelectedNode eigenschap om dat structuurknooppunt in het TreeView besturingselement te selecteren.
Structuurknooppunten kunnen worden uitgebreid om het volgende niveau van onderliggende structuurknooppunten weer te geven. De gebruiker kan het TreeNode uitvouwen door op de plusknop (+) naast de TreeNodeknop ( als deze wordt weergegeven) uit te vouwen of door de TreeNodeExpand methode aan te roepen. Als u alle onderliggende structuurknooppuntniveaus in de Nodes verzameling wilt uitbreiden, roept u de ExpandAll methode aan. U kunt het onderliggende TreeNode niveau samenvouwen door de Collapse methode aan te roepen, of de gebruiker kan op de mintekenknop (-) naast de TreeNodeknop drukken als deze wordt weergegeven. U kunt de Toggle methode ook aanroepen om de TreeNode uitgevouwen en samengevouwen statussen te vervangen.
Structuurknooppunten kunnen desgewenst een selectievakje weergeven. Als u de selectievakjes wilt weergeven, stelt u de eigenschap van de CheckBoxesTreeView eigenschap in op true. De Checked eigenschap is ingesteld op true voor structuurknooppunten die een gecontroleerde status hebben.
Constructors
| Name | Description |
|---|---|
| TreeNode() |
Initialiseert een nieuw exemplaar van de TreeNode klasse. |
| TreeNode(SerializationInfo, StreamingContext) |
Initialiseert een nieuw exemplaar van de TreeNode klasse met behulp van de opgegeven serialisatie-informatie en -context. |
| TreeNode(String, Int32, Int32, TreeNode[]) |
Initialiseert een nieuw exemplaar van de TreeNode klasse met de opgegeven labeltekst, onderliggende structuurknooppunten en afbeeldingen die moeten worden weergegeven wanneer het structuurknooppunt de geselecteerde en niet-geselecteerde status heeft. |
| TreeNode(String, Int32, Int32) |
Initialiseert een nieuw exemplaar van de TreeNode klasse met de opgegeven labeltekst en afbeeldingen die moeten worden weergegeven wanneer het structuurknooppunt de geselecteerde en niet-geselecteerde status heeft. |
| TreeNode(String, TreeNode[]) |
Initialiseert een nieuw exemplaar van de TreeNode klasse met de opgegeven labeltekst en onderliggende structuurknooppunten. |
| TreeNode(String) |
Initialiseert een nieuw exemplaar van de TreeNode klasse met de opgegeven labeltekst. |
Eigenschappen
| Name | Description |
|---|---|
| BackColor |
Hiermee haalt u de achtergrondkleur van het structuurknooppunt op of stelt u deze in. |
| Bounds |
Hiermee haalt u de grenzen van het structuurknooppunt op. |
| Checked |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of het structuurknooppunt de status Gecontroleerd heeft. |
| ContextMenu |
Hiermee haalt u het snelmenu op dat is gekoppeld aan dit structuurknooppunt. |
| ContextMenuStrip |
Hiermee wordt het snelmenu opgehaald of ingesteld dat aan dit structuurknooppunt is gekoppeld. |
| FirstNode |
Hiermee haalt u het eerste onderliggende structuurknooppunt op in de verzameling structuurknooppunten. |
| ForeColor |
Hiermee wordt de voorgrondkleur van het structuurknooppunt opgehaald of ingesteld. |
| FullPath |
Hiermee haalt u het pad op van het hoofdstructuurknooppunt naar het huidige structuurknooppunt. |
| Handle |
Hiermee haalt u de ingang van het structuurknooppunt op. |
| ImageIndex |
Hiermee wordt de indexwaarde van de installatiekopieënlijst opgehaald of ingesteld die wordt weergegeven wanneer het structuurknooppunt de niet-geselecteerde status heeft. |
| ImageKey |
Hiermee haalt u de sleutel op voor de installatiekopieën die aan dit structuurknooppunt zijn gekoppeld wanneer het knooppunt een niet-geselecteerde status heeft. |
| Index |
Hiermee haalt u de positie van het structuurknooppunt op in de verzameling structuurknooppunten. |
| IsEditing |
Hiermee wordt een waarde opgehaald die aangeeft of het structuurknooppunt een bewerkbare status heeft. |
| IsExpanded |
Hiermee wordt een waarde opgehaald die aangeeft of het structuurknooppunt de uitgevouwen status heeft. |
| IsSelected |
Hiermee wordt een waarde opgehaald die aangeeft of het structuurknooppunt de geselecteerde status heeft. |
| IsVisible |
Hiermee wordt een waarde opgehaald die aangeeft of het structuurknooppunt zichtbaar of gedeeltelijk zichtbaar is. |
| LastNode |
Hiermee haalt u het laatste onderliggende structuurknooppunt op. |
| Level |
Hiermee haalt u de diepte op basis van nul van het structuurknooppunt in het TreeView besturingselement op. |
| Name |
Hiermee haalt u de naam van het structuurknooppunt op of stelt u deze in. |
| NextNode |
Hiermee wordt het volgende knooppunt van de knooppuntstructuur op hetzelfde niveau opgehaald. |
| NextVisibleNode |
Hiermee wordt het volgende zichtbare structuurknooppunt opgehaald. |
| NodeFont |
Hiermee wordt het lettertype opgehaald of ingesteld dat wordt gebruikt om de tekst op het label van het structuurknooppunt weer te geven. |
| Nodes |
Hiermee haalt u de verzameling TreeNode objecten op die zijn toegewezen aan het huidige structuurknooppunt. |
| Parent |
Hiermee wordt het bovenliggende structuurknooppunt van het huidige structuurknooppunt opgehaald. |
| PrevNode |
Hiermee haalt u het vorige knooppunt van de knooppuntstructuur op. |
| PrevVisibleNode |
Hiermee haalt u het vorige zichtbare structuurknooppunt op. |
| SelectedImageIndex |
Hiermee haalt u de indexwaarde van de installatiekopieënlijst op of stelt u deze in die wordt weergegeven wanneer het structuurknooppunt de geselecteerde status heeft. |
| SelectedImageKey |
Hiermee wordt de sleutel van de afbeelding opgehaald of ingesteld die wordt weergegeven in het structuurknooppunt wanneer deze zich in een geselecteerde status bevindt. |
| StateImageIndex |
Hiermee wordt de index opgehaald of ingesteld van de afbeelding die wordt gebruikt om de status aan te geven van het TreeNode moment waarop de bovenliggende TreeView eigenschap is CheckBoxes ingesteld |
| StateImageKey |
Hiermee haalt u de sleutel op van de afbeelding die wordt gebruikt om de status van de TreeNode bovenliggende TreeView eigenschap aan te CheckBoxesgeven waarop de eigenschap is |
| Tag |
Hiermee wordt het object opgehaald of ingesteld dat gegevens over het structuurknooppunt bevat. |
| Text |
Hiermee wordt de tekst opgehaald of ingesteld die wordt weergegeven in het label van het structuurknooppunt. |
| ToolTipText |
Hiermee haalt u de tekst op die wordt weergegeven wanneer de muisaanwijzer boven een TreeNode. |
| TreeView |
Hiermee haalt u de bovenliggende structuurweergave op waaraan het structuurknooppunt is toegewezen. |
Methoden
| Name | Description |
|---|---|
| BeginEdit() |
Hiermee wordt het bewerken van het label van het structuurknooppunt gestart. |
| Clone() |
Kopieert het structuurknooppunt en de volledige substructuur die is geroot op dit structuurknooppunt. |
| Collapse() |
Hiermee wordt het structuurknooppunt samengevouwen. |
| Collapse(Boolean) |
Hiermee worden de TreeNode onderliggende items samengevouwen en eventueel samengevouwen. |
| CreateObjRef(Type) |
Hiermee maakt u een object dat alle relevante informatie bevat die nodig is om een proxy te genereren die wordt gebruikt om te communiceren met een extern object. (Overgenomen van MarshalByRefObject) |
| Deserialize(SerializationInfo, StreamingContext) |
Laadt de status van de TreeNode opgegeven SerializationInfo. |
| EndEdit(Boolean) |
Hiermee wordt het bewerken van het label van het structuurknooppunt beëindigd. |
| EnsureVisible() |
Zorgt ervoor dat het structuurknooppunt zichtbaar is, boomknooppunten uitvouwen en zo nodig door het besturingselement voor de structuurweergave schuiven. |
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| Expand() |
Breidt het structuurknooppunt uit. |
| ExpandAll() |
Hiermee worden alle onderliggende structuurknooppunten uitgebreid. |
| FromHandle(TreeView, IntPtr) |
Retourneert het structuurknooppunt met de opgegeven ingang en toegewezen aan het opgegeven structuurweergavebesturingselement. |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetLifetimeService() |
Verouderd.
Hiermee haalt u het huidige levensduurserviceobject op waarmee het levensduurbeleid voor dit exemplaar wordt beheerd. (Overgenomen van MarshalByRefObject) |
| GetNodeCount(Boolean) |
Retourneert het aantal onderliggende boomknooppunten. |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| InitializeLifetimeService() |
Verouderd.
Hiermee haalt u een levensduurserviceobject op om het levensduurbeleid voor dit exemplaar te beheren. (Overgenomen van MarshalByRefObject) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| MemberwiseClone(Boolean) |
Hiermee maakt u een ondiepe kopie van het huidige MarshalByRefObject object. (Overgenomen van MarshalByRefObject) |
| Remove() |
Hiermee verwijdert u het huidige structuurknooppunt uit het besturingselement voor de structuurweergave. |
| Serialize(SerializationInfo, StreamingContext) |
Hiermee wordt de status van de TreeNode opgegeven opgeslagen SerializationInfo. |
| Toggle() |
Hiermee schakelt u het structuurknooppunt in op de uitgevouwen of samengevouwen status. |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. |
Expliciete interface-implementaties
| Name | Description |
|---|---|
| ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
Hiermee wordt een serialisatie-informatieobject gevuld met de gegevens die nodig zijn voor het serialiseren van de TreeNode. |