C# 小问题,希望大家顶,帮帮我,谢谢先!

shuicanyi 2004-03-22 05:19:22
1怎么用TREEview 来实现 ,现在得到某个文件夹下的所有以及文件夹?在一个字符数组里

我不知道怎么点就可以展开他,

给点例子或其他的
-----------------------------------------------------------------
2请问一个应用程序要储存东西怎么储存(存为只有自己的的软件才可以打开的)

我说一个例子吧,就是一个通讯录单机版那种,用户记了 很多人的

通讯地址, 怎么储存呢? 比如产生一个叫X.TEW (后缀自己想的)的文件,我不知道怎么弄进去,

-----------------------------------------------------------------

3。我有一个小软件,我想知道怎么用HOOK 给一点相关入门的资料好吗(入门的) 当然入门加提高的 更好了!

或是给一例子或原码
...全文
40 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
shuicanyi 2004-03-28
  • 打赏
  • 举报
回复
TO jkflyfox(飞狐)

我看了一 下,是可以的,
但是 效率好像不是很好,

我想这样: 每次展开一 个分支时,才产生相应的下一节点的东西,


你的遍历 一次就初始化完 ,

不知道,在你电脑里运行是什么效果?

希望你帮助我。
谢谢~!
sleeping100 2004-03-23
  • 打赏
  • 举报
回复
up
jkflyfox 2004-03-23
  • 打赏
  • 举报
回复
第一个问题我以前弄过,你看看吧,一起交流下:(仅显示c盘下的)

private void addNode(TreeNode tn)
{DirectoryInfo di=new DirectoryInfo(tn.Text);
DirectoryInfo[] aTemp=di.GetDirectories();
if (aTemp.Length>0)
foreach(DirectoryInfo d in aTemp)
{
TreeNode node=new TreeNode(d.FullName); tn.Nodes.Add(node);
addNode(node);
}
FileInfo[] sFiles=di.GetFiles();
foreach(FileInfo f in sFiles )
{
TreeNode node=new TreeNode(f.FullName);
tn.Nodes.Add(node);
}
}





private void button1_Click(object sender, System.EventArgs e)
{try
{DirectoryInfo ainfo=new DirectoryInfo("C:\\");
TreeNode nan=new TreeNode(ainfo.FullName);
this.treeView1.Nodes.Add(nan);
addNode(nan);
}
catch(System.IO.DirectoryNotFoundException eDnfa)
{
MessageBox.Show(eDnfa.Message);

}

}
shiningpolarstar 2004-03-22
  • 打赏
  • 举报
回复
DataRow dr = dataGridRow1.Tables["DirectoryTable"].NewRow();
dr["FileName"] = d[p].Name;
dr["FilePath"] = Replace(d[p].DirectoryName);
int lFig = Convert.ToInt32(d[p].Length)/10;
float LFig1 = (float)lFig/100;
dr["FileLength"] = LFig1.ToString() + "K";
dr["FileType"] = d[p].Extension;
dr["WithOutExe"] = Path.GetFileNameWithoutExtension(d[p].Name);
dataGridRow1.Tables["DirectoryTable"].Rows.Add(dr);

这段代码,是我写的,你可以换成自已的代码
shiningpolarstar 2004-03-22
  • 打赏
  • 举报
回复
3. http://www.xfocus.net/articles/200108/254.html
shuicanyi 2004-03-22
  • 打赏
  • 举报
回复
我回去试一下,我就是不想让我的软件放到数据库,如果用户没有装怎么办
shiningpolarstar 2004-03-22
  • 打赏
  • 举报
回复
2.可以用SqlServer设计一个表来存储呀,对sql设置密码,别的软件就打不开了
shiningpolarstar 2004-03-22
  • 打赏
  • 举报
回复
ConfigurationSettings.AppSettings["StrPath"]放的是要目录
shiningpolarstar 2004-03-22
  • 打赏
  • 举报
回复
DirectoryInfo Direc = new DirectoryInfo(ConfigurationSettings.AppSettings["StrPath"]);
if(Direc.Exists)
{
System.IO.DirectoryInfo [] b;
b = Direc.GetDirectories();
for(int i=0;i<b.Length;i++)
{
if(b[i].Name == Hidden2.Value)
{
System.IO.DirectoryInfo [] c;
c = b[i].GetDirectories();
for(int j=0;j<c.Length;j++)
{
if(c[j].Name == Hidden1.Value.Trim())
{
System.IO.FileInfo [] d;
d = c[j].GetFiles();
for(int p=0;p<d.Length;p++)
{
DataRow dr = dataGridRow1.Tables["DirectoryTable"].NewRow();
dr["FileName"] = d[p].Name;
dr["FilePath"] = Replace(d[p].DirectoryName);
int lFig = Convert.ToInt32(d[p].Length)/10;
float LFig1 = (float)lFig/100;
dr["FileLength"] = LFig1.ToString() + "K";
dr["FileType"] = d[p].Extension;
dr["WithOutExe"] = Path.GetFileNameWithoutExtension(d[p].Name);
dataGridRow1.Tables["DirectoryTable"].Rows.Add(dr);
}
break;
}
}
break;
}
}
}
shuicanyi 2004-03-22
  • 打赏
  • 举报
回复
我知道递归。但是思维很乱,
HNU 2004-03-22
  • 打赏
  • 举报
回复



到论坛搜索吧
szhuk 2004-03-22
  • 打赏
  • 举报
回复
呵呵,帮你顶吧
第一个我以前试过,是一个递归
后两个没有试过

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧