为什么在树上添加节点,必须点击两次后才能看到效果?
点击第一次(添加节点语句肯定执行了),什么都看不到,去掉ExpandAll()一句,看到一个加号,点击第二次后,正常了:(
树如图所示,是一颗类似资源管理器的树,我的目的是在判断出一个文件类别后,自动地加入相应文件夹下
F:\Folder1
|
--Folder2
|
--Class1
--Class2
--Class3
完整代码如下
private void button1_Click(object sender, System.EventArgs e)
{
try
{
jmail.POP3 myPop3=new jmail.POP3Class();
myPop3.Connect(pub.userName,pub.password,pub.pop3,110);
myPop3.DownloadUnreadMessages();
jmail.MessagesClass msgs = (jmail.MessagesClass)myPop3.Messages;
for(int i=1;i<msgs.Count;i++)
{
string strWaitFenci="";
string from=msgs[i].From;
string subject=msgs[i].Subject;
string body=msgs[i].Body;
mail.AttachmentsClass att = (jmail.AttachmentsClass)msgs[i].Attachments;
for(int j=0;j<att.Count;j++)//附件接收
{
att[j].SaveToFile(pub.dirInBox+"\\附件\\"+att[j].Name);
}
对它处理后判断类别,下一步的主要任务
strWaitFenci=from+" "+subject+" "+body;
////////////////////////////////分类接口入口///////////////////
Classification classify=new Classification();
classify.classifyFile(strWaitFenci);//邮件分类
////////////////////////////////分类接口入口////////////////////
//添加到对应的分支上,定义在下面给出
zzj.addNode(tvw.Nodes[0],pub.ToClass,fileName+".htm");
}
myPop3.Disconnect();
}
catch(Exception ee)
{
Console.Write(ee.Message);
}
tvw.ExpandAll();
}
/// <param name="node">遍历的起始节点</param>
/// <param name="parent">父亲</param>
/// <param name="child">新节点</param>
public static void addNode(TreeNode node,string parent,string child)
{
if(node.Text==parent)
{
node.Nodes.Add(new TreeNode(child));
}
else
{
foreach(TreeNode td in node.Nodes)
{
if(td.Text.Trim()==parent)
{
td.Nodes.Add(new TreeNode(child));
break;
}
addNode(td,parent,child);
}
}
}
问题点数:30、回复次数:5Top
1 楼lxrxyz(无忧十年)回复于 2004-11-03 09:03:53 得分 20
添加后refresh()一下。Top
2 楼jimh(Jimmy)回复于 2004-11-03 09:07:37 得分 10
同上Top
3 楼chcpu(zj)回复于 2004-11-03 10:31:46 得分 0
没有用的Top
4 楼chcpu(zj)回复于 2004-11-03 10:49:37 得分 0
我想通过别的途径解决,但是怎样确定一个文件在最近一分钟内修改过呢?
如:
DateTime now=DateTime.Now.ToUniversalTime();
DateTime d= file.LastWriteTime;
如何知道这两者相距一分钟Top
5 楼chcpu(zj)回复于 2004-11-03 11:24:40 得分 0
long now=DateTime.Now.ToFileTimeUtc();//相对于公元 1601 (C.E.) 1 月 1 日午夜 12:00
long lastWriteTime= file.LastWriteTime.ToFileTimeUtc();//以每100毫秒为单位
if((now-lastWriteTime)<300)
^……Top




