Para ver el artículo en inglés, active la casilla Inglés. También puede ver el texto en inglés en una ventana emergente si pasa el puntero del mouse por el texto.
Traducción
Inglés
Esta documentación está archivada y no tiene mantenimiento.

TreeView.AfterCheck (Evento)

Se produce después de activarse la casilla del nodo de árbol.

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

public event TreeViewEventHandler AfterCheck

Si la propiedad TreeNode.Checked se establece desde un controlador de eventos BeforeCheck o AfterCheck, el evento se provoca varias veces y puede producirse un comportamiento imprevisto. Para evitar que el evento se provoque varias veces, hay que agregar lógica al controlador de eventos para que sólo ejecute el código recursivo si la propiedad Action de TreeViewEventArgs no está establecida en TreeViewAction.Unknown.

Para obtener más información sobre cómo controlar eventos, vea Utilizar eventos.

En el siguiente ejemplo de código se actualizan todos los nodos de árbol secundarios de un TreeNode cuando el usuario cambia su estado de activación. En este código se requiere que haya un Form con un TreeView que contenga objetos TreeNode en su TreeNodeCollection. TreeNodeCollection debe contener nodos de árbol que tengan nodos secundarios.


// Updates all child tree nodes recursively.
private void CheckAllChildNodes(TreeNode treeNode, bool nodeChecked)
{
   foreach(TreeNode node in treeNode.Nodes)
   {
      node.Checked = nodeChecked;
      if(node.Nodes.Count > 0)
      {
         // If the current node has child nodes, call the CheckAllChildsNodes method recursively.
         this.CheckAllChildNodes(node, nodeChecked);
      }
   }
}

// NOTE   This code can be added to the BeforeCheck event handler instead of the AfterCheck event.
// After a tree node's Checked property is changed, all its child nodes are updated to the same value.
private void node_AfterCheck(object sender, TreeViewEventArgs e)
{
   // The code only executes if the user caused the checked state to change.
   if(e.Action != TreeViewAction.Unknown)
   {
      if(e.Node.Nodes.Count > 0)
      {
         /* Calls the CheckAllChildNodes method, passing in the current 
         Checked value of the TreeNode whose checked state changed. */
         this.CheckAllChildNodes(e.Node, e.Node.Checked);
      }
   }
}


.NET Framework

Compatible con: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
Mostrar: