seehttp://www.codeguru.com/samples/DriveExplorer.html资源管理器的例子
解决方案 »
- C# 容器式的下拉菜单,如何实现?急救
- 关于SQL语句在C#引用的问题
- DataGridView中怎么使行左边的三角行指到当前的行,就是说我有一个按钮,单击时信息指到下一行的信息,而最左边的三角形也跟着在当前行??
- 求助关于C#与C++之间的数据传输问题
- 网站数据提取保存到数据库
- .net里怎么没有ip地址控件??
- 如何读写App.config文件?
- 接受用户输入的字符串,用foreach将其中的字符逐个输出
- 急!!!100分求Graphics画图的问题
- 目前正有一种未知病毒大规模爆发,暂时还没有明确的解决办法,请近期慎用操作系统为WINDOWS XP和WINDOWS2000的机器上网。
- (难题)C#中如何实现像delphi中的Application.message(...)对话框的功能呢?并且还要知道其还回值
- webservice的helloworld,发布到localhost后,打开asmx文件时,为何弹出vs.net编辑器
分不够再加!!!
请各位垂怜!!!
RoueDust(浪尘)救我!
思路如下,省略了语法细节
pirvate sbyte BuildTree(TreeNode parentNode, ArrayList list)
{
//搜索当前节点的子节点
for(int i=0; i < list.count; i ++)
{
if(list.pid = parentNode.id)
//子节点找到
{
//为当前节点增加一个子节点
TreeNode node = new TreeNode;
node.pid = list.id
node.id = xxx;
parentNode.Nodes.Add(node);
//删除list中的对应数据
list.Remove(list[i]);
//递归,搜索子节点的子节点
sbyte retChild = BuildTree (node, list);
//搜索结束,退出
if (retChild == 0 ||list.Count == 0){return 0;}
//没有找到子节点的子节点
if (retChild < 0)
{
//递归,搜索子节点的兄弟
sbyte retBrother = BuildTree (parentNode, list);
if (retBrother == 0 ||list.Count == 0){return 0;}
}
}
}
//没有找到当前节点的子节点
return -1;
}