Leer en inglés

Compartir a través de


TreeViewDrawMode Enumeración

Definición

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

C#
public enum TreeViewDrawMode
Herencia
TreeViewDrawMode

Campos

Nombre Valor Description
Normal 0

El sistema operativo ha dibujado el control TreeView.

OwnerDrawAll 2

Se dibujan manualmente todos los elementos de un nodo TreeView, incluso los iconos, casillas, los signos de más y menos, y las líneas que conectan los nodos.

OwnerDrawText 1

Se dibuja manualmente la parte de la etiqueta de los nodos TreeView. El sistema operativo dibuja otros elementos de nodo, incluyendo los iconos, casillas, los signos de más y menos y las líneas que conectan los nodos.

Ejemplos

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

Puede personalizar la mayoría de los TreeView colores estableciendo propiedades de color, pero el color de resaltado de selección no está disponible como una propiedad. Además, el rectángulo de resaltado de selección predeterminado solo se extiende alrededor de una etiqueta de nodo. El dibujo del propietario debe usarse para dibujar las etiquetas de nodo y para dibujar un rectángulo de resaltado personalizado lo suficientemente grande como para incluir una etiqueta de nodo.

Para obtener el ejemplo completo, consulte el tema de TreeView.DrawNode referencia.

C#
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);
}

Comentarios

Esta enumeración la usa la TreeView.DrawMode propiedad para indicar si los nodos o las etiquetas de nodo de un TreeView objeto son dibujados por el propietario. Para obtener más información, vea el evento TreeView.DrawNode.

Se aplica a

Producto Versiones
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

Consulte también