本文整理汇总了C#中TreeNode.GetChildren方法的典型用法代码示例。如果您正苦于以下问题:C# TreeNode.GetChildren方法的具体用法?C# TreeNode.GetChildren怎么用?C# TreeNode.GetChildren使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TreeNode
的用法示例。
在下文中一共展示了TreeNode.GetChildren方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: drawBranch
/// <summary>
/// Draws a branch in a tree. This function is recursive.
/// </summary>
/// <param name="branch">the branch to draw</param>
/// <param name="graphics">allows graphics to be drawn</param>
/// <param name="pen">for drawing lines</param>
/// <param name="nodeFill">for drawing nodes</param>
/// <param name="direction">the side of the tree the node is drawn on</param>
/// <param name="slotsUsed">the number of slots on this side of the tree that have already been used</param>
/// <param name="pixelsPerSlot">the number of pixels in a slot</param>
/// <param name="childPositionX">the x-position of this branch's child</param>
private void drawBranch(TreeNode branch, Graphics graphics, Pen pen, Brush nodeFill, int direction, int slotsUsed, float pixelsPerSlot, float childPositionX)
{
// calculate some useful numbers
int slotsInThisBranch = branch.GetNumParentlessAncestors();
float nodeCenterX = (this.Width / 2) + (direction * (slotsUsed + ((slotsInThisBranch + 1) / 2)) * pixelsPerSlot);
// draw this node
graphics.FillEllipse(nodeFill, nodeCenterX - (NODE_DIAMETER / 2), ValueToYCoordinate(branch.value) - (NODE_DIAMETER / 2), NODE_DIAMETER, NODE_DIAMETER);
// draw lines from the branch node back to its child
graphics.DrawLine(pen, childPositionX, ValueToYCoordinate(branch.GetChildren()[0].value), nodeCenterX, ValueToYCoordinate(branch.GetChildren()[0].value));
graphics.DrawLine(pen, nodeCenterX, ValueToYCoordinate(branch.GetChildren()[0].value), nodeCenterX, ValueToYCoordinate(branch.value));
int slotsUsedAfterParent = slotsUsed;
foreach (TreeNode parent in branch.GetParents()) {
drawBranch(parent, graphics, pen, nodeFill, direction, slotsUsedAfterParent, pixelsPerSlot, nodeCenterX);
slotsUsedAfterParent += parent.GetNumParentlessAncestors(); }
}
示例2: DFSSearch
private void DFSSearch(TreeNode<string> X,int y){
//melakukan penelusuran secara DFS dan mencetak node yang dikunjungi
Space(y);
treeString+="Name = " + X.GetData() + " | Children = " + X.GetChildren().Count+"\n";
if (X.GetParent() != null) countVisited++;
Search1(X.GetData(), X.GetType());
float progress = (float)countVisited / (float)countTotal;
Console.WriteLine("[Progress]" + progress * 100 + "[/Progress]");
foreach (var child in X.GetChildren())
{
int z = y + 7;
DFSSearch(child, z);
}
}