var
  i: Integer;
begin
  for i := 0 to TreeView1.Items.Count - 1 do
  begin
    if TreeView1.Items[i].Text = 'aa' then
    begin                               //以下为对找到的节点的操作
      //删除
      TreeView1.Items[i].Delete; 
      Exit;                             
      //修改
      TreeView1.Items[i].Text := 'ff'
    end;
  end;
end;

解决方案 »

  1.   

    不错我也是这样写的, 但是这样会报错。 原因我也知道,就是删除该节点后 Treeview1.items.count的值已经变了。
      

  2.   

    for i ;= 0 to TreeView1.items.count -1 do 
    begin
      if TreeView1.Items[i].text = 'aa' then
      begin
        //do sth
      end;end;
      

  3.   

    用while do 语句,也可以用break,用break是删除了节点接着跳出循环,用while 语句可以循环到底
    i := 0 ;
    while i <= TreeView1.Items.Count-1 do 
    begin
      if ..
    end;
      

  4.   

    如果是删除操作的话,我劝你最好用
    for i:=TreeView1.items.count-1 downto 0 do
    begin
      dosth
    end;
    这样不会报错
      

  5.   

    Good搞定了,谢谢。 
    给分了。
    人人有分,进来晚了可就没戏了。