本文整理汇总了C#中RtfTreeNode.HasChildNodes方法的典型用法代码示例。如果您正苦于以下问题:C# RtfTreeNode.HasChildNodes方法的具体用法?C# RtfTreeNode.HasChildNodes怎么用?C# RtfTreeNode.HasChildNodes使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类RtfTreeNode
的用法示例。
在下文中一共展示了RtfTreeNode.HasChildNodes方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: adjustFontRecursive
/// <summary>
/// Ajusta las fuentes del documento a insertar.
/// </summary>
/// <param name="parentNode">Nodo grupo que se está procesando.</param>
/// <param name="fontDestTbl">Tabla de fuentes resultante.</param>
/// <param name="fontToCopyTbl">Tabla de fuentes del documento a insertar.</param>
private void adjustFontRecursive(RtfTreeNode parentNode, RtfFontTable fontDestTbl, RtfFontTable fontToCopyTbl)
{
if (parentNode != null && parentNode.HasChildNodes())
{
for (int iNdIndex = 0; iNdIndex < parentNode.ChildNodes.Count; iNdIndex++)
{
if (parentNode.ChildNodes[iNdIndex].NodeType == RtfNodeType.Keyword &&
(parentNode.ChildNodes[iNdIndex].NodeKey == "f" ||
parentNode.ChildNodes[iNdIndex].NodeKey == "stshfdbch" ||
parentNode.ChildNodes[iNdIndex].NodeKey == "stshfloch" ||
parentNode.ChildNodes[iNdIndex].NodeKey == "stshfhich" ||
parentNode.ChildNodes[iNdIndex].NodeKey == "stshfbi" ||
parentNode.ChildNodes[iNdIndex].NodeKey == "deff" ||
parentNode.ChildNodes[iNdIndex].NodeKey == "af") &&
parentNode.ChildNodes[iNdIndex].HasParameter == true)
{
parentNode.ChildNodes[iNdIndex].Parameter = getFontID(ref fontDestTbl, fontToCopyTbl[parentNode.ChildNodes[iNdIndex].Parameter]);
}
adjustFontRecursive(parentNode.ChildNodes[iNdIndex], fontDestTbl, fontToCopyTbl);
}
}
}
示例2: adjustColorRecursive
/// <summary>
/// Ajusta los colores del documento a insertar.
/// </summary>
/// <param name="parentNode">Nodo grupo que se está procesando.</param>
/// <param name="colorDestTbl">Tabla de colores resultante.</param>
/// <param name="colorToCopyTbl">Tabla de colores del documento a insertar.</param>
private void adjustColorRecursive(RtfTreeNode parentNode, RtfColorTable colorDestTbl, RtfColorTable colorToCopyTbl)
{
if (parentNode != null && parentNode.HasChildNodes())
{
for (int iNdIndex = 0; iNdIndex < parentNode.ChildNodes.Count; iNdIndex++)
{
if (parentNode.ChildNodes[iNdIndex].NodeType == RtfNodeType.Keyword &&
(parentNode.ChildNodes[iNdIndex].NodeKey == "cf" ||
parentNode.ChildNodes[iNdIndex].NodeKey == "cb" ||
parentNode.ChildNodes[iNdIndex].NodeKey == "pncf" ||
parentNode.ChildNodes[iNdIndex].NodeKey == "brdrcf" ||
parentNode.ChildNodes[iNdIndex].NodeKey == "cfpat" ||
parentNode.ChildNodes[iNdIndex].NodeKey == "cbpat" ||
parentNode.ChildNodes[iNdIndex].NodeKey == "clcfpatraw" ||
parentNode.ChildNodes[iNdIndex].NodeKey == "clcbpatraw" ||
parentNode.ChildNodes[iNdIndex].NodeKey == "ulc" ||
parentNode.ChildNodes[iNdIndex].NodeKey == "chcfpat" ||
parentNode.ChildNodes[iNdIndex].NodeKey == "chcbpat" ||
parentNode.ChildNodes[iNdIndex].NodeKey == "highlight" ||
parentNode.ChildNodes[iNdIndex].NodeKey == "clcbpat" ||
parentNode.ChildNodes[iNdIndex].NodeKey == "clcfpat") &&
parentNode.ChildNodes[iNdIndex].HasParameter == true)
{
parentNode.ChildNodes[iNdIndex].Parameter = getColorID(colorDestTbl, colorToCopyTbl[parentNode.ChildNodes[iNdIndex].Parameter]);
}
adjustColorRecursive(parentNode.ChildNodes[iNdIndex], colorDestTbl, colorToCopyTbl);
}
}
}
示例3: analizeTextContent
/// <summary>
/// Analiza el texto del documento en busca de parámetros de reemplazo y combina los documentos.
/// </summary>
/// <param name="parentNode">Nodo del árbol a procesar.</param>
private void analizeTextContent(RtfTreeNode parentNode)
{
RtfTree docToInsert = null;
int indPH;
//Si el nodo es de tipo grupo y contiene nodos hijos
if (parentNode != null && parentNode.HasChildNodes())
{
//Se recorren todos los nodos hijos
for (int iNdIndex = 0; iNdIndex < parentNode.ChildNodes.Count; iNdIndex++)
{
//Nodo actual
RtfTreeNode currNode = parentNode.ChildNodes[iNdIndex];
//Si el nodo actual es de tipo Texto se buscan etiquetas a reemplazar
if (currNode.NodeType == RtfNodeType.Text)
{
docToInsert = null;
//Se recorren todas las etiquetas configuradas
foreach (string ph in placeHolder.Keys)
{
//Se busca la siguiente ocurrencia de la etiqueta actual
indPH = currNode.NodeKey.IndexOf(ph);
//Si se ha encontrado una etiqueta
if (indPH != -1)
{
//Se recupera el árbol a insertar en la etiqueta actual
docToInsert = placeHolder[ph].CloneTree();
//Se inserta el nuevo árbol en el árbol base
mergeCore(parentNode, iNdIndex, docToInsert, ph, indPH);
//Como puede que el nodo actual haya cambiado decrementamos el índice
//y salimos del bucle para analizarlo de nuevo
iNdIndex--;
break;
}
}
}
else
{
//Si el nodo actual tiene hijos se analizan los nodos hijos
if (currNode.HasChildNodes())
{
analizeTextContent(currNode);
}
}
}
}
}