Assuming that you are adding the check boxes to the nodes by setting the NodeStyle to Checkbox you could handle the AfterCheck event and update the children in this event:
void ultraTree1_AfterCheck(object sender, NodeEventArgs e)
{
foreach (UltraTreeNode node in e.TreeNode.Nodes)
node.CheckedState = e.TreeNode.CheckedState;
}