本文整理匯總了C#中System.Windows.Forms.TreeNodeCollection.OfType方法的典型用法代碼示例。如果您正苦於以下問題:C# TreeNodeCollection.OfType方法的具體用法?C# TreeNodeCollection.OfType怎麽用?C# TreeNodeCollection.OfType使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類System.Windows.Forms.TreeNodeCollection
的用法示例。
在下文中一共展示了TreeNodeCollection.OfType方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: TreeContainsOnlyOneReportNode
private bool TreeContainsOnlyOneReportNode(TreeNodeCollection nodes)
{
if (nodes.Count > 1)
{
return false;
}
foreach (var n in nodes.OfType<TreeNode>())
{
if (n.Tag == _MakeExpandableNodeTag)
{
return false;
}
ConcreteTemplateNodeDefinition nodeDef = n.Tag as ConcreteTemplateNodeDefinition;
if (nodeDef == null)
{
return false;
}
if (nodeDef.TemplateNode.GetParentQuery() != null)
{
return false;
}
var hasReport = !string.IsNullOrEmpty(nodeDef.TemplateNode.XslTemplateFileName);
if (hasReport)
{
return n.Nodes.Count == 0;
}
return TreeContainsOnlyOneReportNode(n.Nodes);
}
return false;
}
示例2: ScanNode
private TreeNode ScanNode(string path, TreeNodeCollection nodes)
{
foreach (var node in nodes.OfType<TreeNode>())
{
if (node.FullPath == path) return node;
if (node.Nodes.Count > 0)
{
var ret = this.ScanNode(path, node.Nodes);
if (ret != null) return ret;
}
}
return null;
}
示例3: ExpandNodeToLoadTemplate
/// <summary>
/// Expand node.
/// </summary>
private void ExpandNodeToLoadTemplate(Stack<String> templatesToExpand, TreeNodeCollection nodes, string selectTemplateId, Action finalAction)
{
if (templatesToExpand != null)
{
if (templatesToExpand.Count > 0)
{
var currentId = templatesToExpand.Pop();
var currentTemplateToExpand = nodes.OfType<TreeNode>().FirstOrDefault(x =>
x.Tag is ConcreteTemplateNodeDefinition &&
(x.Tag as ConcreteTemplateNodeDefinition).TemplateNode.Id == currentId);
if (currentTemplateToExpand != null && !currentTemplateToExpand.IsExpanded)
{
if (currentId == selectTemplateId)
{
Invoke(finalAction);
}
else
{
this.ContinueWith = () =>
{
Invoke(
new Action(
() => ExpandNodeToLoadTemplate(
templatesToExpand,
currentTemplateToExpand.Nodes,
selectTemplateId,
finalAction
)
)
);
this.ContinueWith = null;
};
currentTemplateToExpand.Expand();
}
}
}
}
}
示例4: ClearNodes
private void ClearNodes(TreeNodeCollection collection)
{
foreach (SPTreeNode item in collection.OfType<SPTreeNode>())
{
item.Dispose();
}
collection.Clear();
}