Share via


TreeNode.Tag 属性

获取或设置包含树节点有关数据的对象。

**命名空间:**System.Windows.Forms
**程序集:**System.Windows.Forms(在 system.windows.forms.dll 中)

语法

声明
<LocalizableAttribute(False)> _
<BindableAttribute(True)> _
Public Property Tag As Object
用法
Dim instance As TreeNode
Dim value As Object

value = instance.Tag

instance.Tag = value
[LocalizableAttribute(false)] 
[BindableAttribute(true)] 
public Object Tag { get; set; }
[LocalizableAttribute(false)] 
[BindableAttribute(true)] 
public:
property Object^ Tag {
    Object^ get ();
    void set (Object^ value);
}
/** @property */
public Object get_Tag ()

/** @property */
public void set_Tag (Object value)
public function get Tag () : Object

public function set Tag (value : Object)

属性值

Object,包含有关树节点的数据。默认为 空引用(在 Visual Basic 中为 Nothing)。

备注

任何 Object 派生类型都可被指派给此属性。如果此属性是通过 Windows 窗体设计器设置的,则只能指派文本。

示例

下面的代码示例创建一个要为其分配子树节点的根树节点。将 ArrayList 中的每个 Customer 对象的一个子树节点以及分配给 Customer 对象的每个 Order 对象的一个子树节点添加到根树节点。将 Customer 对象分配给 Tag 属性,并将表示 Customer 对象的树节点用 Orange 文本显示。本示例要求已定义 CustomerOrder 对象,Form 上具有 TreeView 控件,还要求有一个名为 customerArrayArrayList,其中包含 Customer 对象。

Public Sub AddRootNodes()
   ' Add a root node to assign the customer nodes to.
   Dim rootNode As TreeNode
   rootNode = New TreeNode()
   rootNode.Text = "CustomerList"
   ' Add a main root treenode.
   myTreeView.Nodes.Add(rootNode)

   ' Add a root treenode for each Customer object in the ArrayList.
   Dim myCustomer As Customer
   For Each myCustomer In customerArray
      ' Add a child treenode for each Order object.
      Dim i As Integer = 0
      Dim myTreeNodeArray(4) As TreeNode
      Dim myOrder As Order
      For Each myOrder In  myCustomer.CustomerOrders
         myTreeNodeArray(i) = New TreeNode(myOrder.OrderID)
         i += 1
      Next myOrder
      Dim customerNode As New TreeNode(myCustomer.CustomerName, _
        myTreeNodeArray)
      ' Display the customer names with and Orange font.
      customerNode.ForeColor = Color.Orange
      ' Store the Customer object in the Tag property of the TreeNode.
      customerNode.Tag = myCustomer
      myTreeView.Nodes(0).Nodes.Add(customerNode)
   Next myCustomer
End Sub
public void AddRootNodes()
{
   // Add a root node to assign the customer nodes to.
   TreeNode rootNode = new TreeNode();
   rootNode.Text = "CustomerList";
   // Add a main root treenode.
   myTreeView.Nodes.Add(rootNode);

   // Add a root treenode for each 'Customer' object in the ArrayList.
   foreach(Customer myCustomer in customerArray)
   {
      // Add a child treenode for each Order object.
      int i = 0;
      TreeNode[] myTreeNodeArray = new TreeNode[5];
      foreach(Order myOrder in myCustomer.CustomerOrders)
      {
         myTreeNodeArray[i] = new TreeNode(myOrder.OrderID);
         i++;
      }
      TreeNode customerNode = new TreeNode(myCustomer.CustomerName,
        myTreeNodeArray);
        // Display the customer names with and Orange font.
        customerNode.ForeColor = Color.Orange;
        // Store the Customer object in the Tag property of the TreeNode.
        customerNode.Tag = myCustomer;
      myTreeView.Nodes[0].Nodes.Add(customerNode);
   }
}
void AddRootNodes()
{
   
   // Add a root node to assign the customer nodes to.
   TreeNode^ rootNode = gcnew TreeNode;
   rootNode->Text = "CustomerList";
   
   // Add a main root treenode.
   myTreeView->Nodes->Add( rootNode );
   
   // Add a root treenode for each 'Customer' object in the ArrayList.
   IEnumerator^ myEnum = customerArray->GetEnumerator();
   while ( myEnum->MoveNext() )
   {
      Customer^ myCustomer = safe_cast<Customer^>(myEnum->Current);
      
      // Add a child treenode for each Order object.
      int i = 0;
      array<TreeNode^>^myTreeNodeArray = gcnew array<TreeNode^>(5);
      IEnumerator^ myEnum = myCustomer->CustomerOrders->GetEnumerator();
      while ( myEnum->MoveNext() )
      {
         Order^ myOrder = safe_cast<Order^>(myEnum->Current);
         myTreeNodeArray[ i ] = gcnew TreeNode( myOrder->OrderID );
         i++;
      }
      TreeNode^ customerNode = gcnew TreeNode( myCustomer->CustomerName,myTreeNodeArray );
      
      // Display the customer names with and Orange font.
      customerNode->ForeColor = Color::Orange;
      
      // Store the Customer Object* in the Tag property of the TreeNode.
      customerNode->Tag = myCustomer;
      myTreeView->Nodes[ 0 ]->Nodes->Add( customerNode );
   }
}
public void AddRootNodes()
{
    // Add a root node to assign the customer nodes to.
    TreeNode rootNode = new TreeNode();
    rootNode.set_Text("CustomerList");
    // Add a main root treenode.
    myTreeView.get_Nodes().Add(rootNode);
    // Add a root treenode for each 'Customer' object in the ArrayList.
    for (int iCtr1 = 0; iCtr1 < customerArray.get_Count(); iCtr1++) {
        Customer myCustomer = (Customer)customerArray.get_Item(iCtr1);
        // Add a child treenode for each Order object.
        int i = 0;
        TreeNode myTreeNodeArray[] = new TreeNode[5];
        for (int iCtr2 = 0; iCtr2 < myCustomer.customerOrders.get_Count();
            iCtr2++) {
            Order myOrder = (Order)myCustomer.customerOrders.get_Item(iCtr2);
            myTreeNodeArray.set_Item(i, new TreeNode(myOrder.orderID));
            i++;
        }
        TreeNode customerNode =
            new TreeNode(myCustomer.customerName, myTreeNodeArray);
        // Display the customer names with and Orange font.
        customerNode.set_ForeColor(Color.get_Orange());
        // Store the Customer object in the Tag property of the TreeNode.
        customerNode.set_Tag(myCustomer);
        myTreeView.get_Nodes().get_Item(0).get_Nodes().Add(customerNode);
    }
} //AddRootNodes

平台

Windows 98、Windows 2000 SP4、Windows CE、Windows Millennium Edition、Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1、1.0

.NET Compact Framework

受以下版本支持:2.0、1.0

请参见

参考

TreeNode 类
TreeNode 成员
System.Windows.Forms 命名空间
Object