本文整理汇总了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();
}