Exportar (0) Imprimir
Expandir todo

TreeView.DrawMode (Propiedad)

Obtiene o establece el modo en que se dibujará el control.

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

public TreeViewDrawMode DrawMode { get; set; }
/** @property */
public TreeViewDrawMode get_DrawMode ()

/** @property */
public void set_DrawMode (TreeViewDrawMode value)

public function get DrawMode () : TreeViewDrawMode

public function set DrawMode (value : TreeViewDrawMode)

No aplicable.

Valor de propiedad

Uno de los valores de TreeViewDrawMode. El valor predeterminado es TreeViewDrawMode.Normal.

Tipo de excepciónCondición

InvalidEnumArgumentException

El valor de propiedad no es un valor válido de TreeViewDrawMode.

El sistema operativo dibuja normalmente los nodos de un TreeView. La propiedad DrawMode le permite personalizar el aspecto de los nodos. Para ello, establezca DrawMode en TreeViewDrawMode.OwnerDrawAll o en TreeViewDrawMode.OwnerDrawText y proporcione un controlador para el evento DrawNode. Esto se denomina dibujo del propietario.

En el ejemplo de código siguiente se muestra cómo personalizar un control TreeView mediante el 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 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

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft