Erweitern Minimieren
0 von 1 fanden dies hilfreich - Dieses Thema bewerten.

TreeViewDrawMode-Enumeration

Hinweis: Diese Enumeration ist neu in .NET Framework, Version 2.0.

Definiert Konstanten, die die Möglichkeiten zum Zeichnen einer TreeView darstellen.

Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)

public enum TreeViewDrawMode
public enum TreeViewDrawMode
public enum TreeViewDrawMode
 MembernameBeschreibung
NormalDie TreeView wird vom Betriebssystem gezeichnet. 
OwnerDrawAllAlle Elemente eines TreeView-Knotens, einschließlich der Symbole, Kontrollkästchen, Plus- und Minuszeichen sowie der Verbindungslinien zwischen den Knoten, werden manuell gezeichnet. 
OwnerDrawTextDer Bezeichnungsbereich der TreeView-Knoten wird manuell gezeichnet. Andere Knotenelemente, einschließlich der Symbole, Kontrollkästchen, Plus- und Minuszeichen sowie der Verbindungslinien zwischen den Knoten, werden vom Betriebssystem gezeichnet. 

Diese Enumeration wird von der TreeView.DrawMode-Eigenschaft verwendet, um anzugeben, ob die Knoten oder Knotenbezeichnungen einer TreeView ownerdrawn sind. Weitere Informationen finden Sie unter dem TreeView.DrawNode-Ereignis.

Im folgenden Codebeispiel wird veranschaulicht, wie ein TreeView-Steuerelement mithilfe seiner Ownerdrawn-Funktion angepasst wird. Das TreeView-Steuerelement im Beispiel zeigt neben den standardmäßigen Knotenbezeichnungen optionale Knotentags an. Knotentags werden mithilfe der TreeNode.Tag-Eigenschaft angegeben. Das TreeView-Steuerelement verwendet außerdem benutzerdefinierte Farben, einschließlich einer benutzerdefinierten Hervorhebungsfarbe.

Sie können die meisten TreeView-Farben durch Festlegen der Farbeigenschaften anpassen. Die Farbe der Auswahlmarkierung ist jedoch nicht als Eigenschaft verfügbar. Außerdem umschließt das Standardauswahl-Markierungsrechteck lediglich eine Knotenbezeichnung. Die Knotentags und das benutzerdefinierte Markierungsrechteck, das groß genug sein muss, um ein Knotentag aufzunehmen, müssen ownerdrawn sein.

Das vollständige Beispiel finden Sie unter dem Referenzthema zu TreeView.DrawNode.

public TreeViewOwnerDraw()
{
    // Create and initialize the TreeView control.
    myTreeView = new TreeView();
    myTreeView.Dock = DockStyle.Fill;
    myTreeView.BackColor = Color.Tan;
    myTreeView.CheckBoxes = true;

    // Add nodes to the TreeView control.
    TreeNode node;
    for (int x = 1; x < 4; ++x)
    {
        // Add a root node to the TreeView control.
        node = myTreeView.Nodes.Add(String.Format("Task {0}", x));
        for (int y = 1; y < 4; ++y)
        {
            // Add a child node to the root node.
            node.Nodes.Add(String.Format("Subtask {0}", y));
        }
    }
    myTreeView.ExpandAll();

    // Add tags containing alert messages to a few nodes 
    // and set the node background color to highlight them.
    myTreeView.Nodes[1].Nodes[0].Tag = "urgent!";
    myTreeView.Nodes[1].Nodes[0].BackColor = Color.Yellow;
    myTreeView.SelectedNode = myTreeView.Nodes[1].Nodes[0];
    myTreeView.Nodes[2].Nodes[1].Tag = "urgent!";
    myTreeView.Nodes[2].Nodes[1].BackColor = Color.Yellow;

    // Configure the TreeView control for owner-draw and add
    // a handler for the DrawNode event.
    myTreeView.DrawMode = TreeViewDrawMode.OwnerDrawText;
    myTreeView.DrawNode += 
        new DrawTreeNodeEventHandler(myTreeView_DrawNode);

    // Add a handler for the MouseDown event so that a node can be 
    // selected by clicking the tag text as well as the node text.
    myTreeView.MouseDown += new MouseEventHandler(myTreeView_MouseDown);

    // Initialize the form and add the TreeView control to it.
    this.ClientSize = new Size(292, 273);
    this.Controls.Add(myTreeView);
}

public TreeViewOwnerDraw()
{
    // Create and initialize the TreeView control.
    myTreeView = new TreeView();
    myTreeView.set_Dock(DockStyle.Fill);
    myTreeView.set_BackColor(Color.get_Tan());
    myTreeView.set_CheckBoxes(true);
    // Add nodes to the TreeView control.
    TreeNode node;
    for (int x = 1; x < 4; ++x) {
        // Add a root node to the TreeView control.
        node = myTreeView.get_Nodes().Add(String.Format("Task {0}",
            (Int32)x));
        for (int y = 1; y < 4; ++y) {
            // Add a child node to the root node.
            node.get_Nodes().Add(String.Format("Subtask {0}", (Int32)y));
        }
    }
    myTreeView.ExpandAll();
    // Add tags containing alert messages to a few nodes 
    // and set the node background color to highlight them.
    myTreeView.get_Nodes().get_Item(1).get_Nodes().get_Item(0).
        set_Tag("urgent!");
    myTreeView.get_Nodes().get_Item(1).get_Nodes().get_Item(0).
        set_BackColor(Color.get_Yellow());
    myTreeView.set_SelectedNode(myTreeView.get_Nodes().get_Item(1).
        get_Nodes().get_Item(0));
    myTreeView.get_Nodes().get_Item(2).get_Nodes().get_Item(1).
        set_Tag("urgent!");
    myTreeView.get_Nodes().get_Item(2).get_Nodes().get_Item(1).
        set_BackColor(Color.get_Yellow());

    // Configure the TreeView control for owner-draw and add
    // a handler for the DrawNode event.
    myTreeView.set_DrawMode(TreeViewDrawMode.OwnerDrawText);
    myTreeView.add_DrawNode(new DrawTreeNodeEventHandler(
        myTreeView_DrawNode));
    // Add a handler for the MouseDown event so that a node can be 
    // selected by clicking the tag text as well as the node text.
    myTreeView.add_MouseDown(new MouseEventHandler(myTreeView_MouseDown));
    // Initialize the form and add the TreeView control to it.
    this.set_ClientSize(new Size(292, 273));
    this.get_Controls().Add(myTreeView);
} //TreeViewOwnerDraw

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

.NET Framework

Unterstützt in: 2.0
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
© 2013 Microsoft. Alle Rechte vorbehalten.