¿Le resultó útil esta página?
Sus comentarios sobre este contenido son muy importantes. Háganos saber su opinión.
¿Tiene comentarios adicionales?
Caracteres restantes: 1500
Exportar (0) Imprimir
Expandir todo
Expandir Minimizar

TreeViewDrawMode (Enumeración)

Define las constantes que representan cómo se puede dibujar un control TreeView.

Espacio de nombres: System.Windows.Forms
Ensamblado: System.Windows.Forms (en system.windows.forms.dll)

public enum TreeViewDrawMode
public enum TreeViewDrawMode
public enum TreeViewDrawMode

 Nombre de miembroDescripción
NormalEl sistema operativo ha dibujado el control TreeView
OwnerDrawAllSe dibujan manualmente todos los elementos de un nodo TreeView, incluso los iconos, casillas de verificación, los signos de más y menos, y las líneas que conectan los nodos. 
OwnerDrawTextSe dibuja manualmente la parte de la etiqueta de los nodos TreeView. El sistema operativo dibuja otros elementos de nodo, incluyendo los iconos, casillas de verificación, los signos de más y menos y las líneas que conectan los nodos. 

La propiedad TreeView.DrawMode utiliza esta enumeración para indicar si los nodos o etiquetas de nodo de un control TreeView los dibuja el propietario. Para obtener más información, vea el evento TreeView.DrawNode.

En el ejemplo de código siguiente se muestra cómo personalizar un control TreeView mediante la función de dibujo del propietario. El control TreeView del ejemplo muestra etiquetas de nodo opcionales junto a las etiquetas de nodo estándar. Las etiquetas de nodo se especifican utilizando la propiedad TreeNode.Tag. El control TreeView también utiliza colores personalizados, incluido un color de resaltado personalizado.

Puede personalizar la mayoría de los colores del control TreeView estableciendo las propiedades de los colores, pero el color de resaltado de una selección no está disponible como propiedad. Además, el rectángulo de resalte de la selección predeterminado sólo se extiende alrededor de una etiqueta de nodo. Debe utilizarse la técnica de dibujo del propietario para dibujar las etiquetas de nodo así como un rectángulo de resalte personalizado suficientemente grande para incluir una etiqueta de nodo.

Para obtener el ejemplo completo, vea el tema referente a 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 Service Pack 4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter

Microsoft .NET Framework 3.0 es compatible con Windows Vista, Microsoft Windows XP SP2 y Windows Server 2003 SP1.

.NET Framework

Compatible con: 3.0, 2.0
Mostrar:
© 2015 Microsoft