there you go a bit better version of the text based selection.Code: Pascal [Select][+][-]procedure SelectNodeByText(const aTreeView:TTreeView; aNodelevel:Integer);var vNode : TTreeNode = nil; vLastNode : TTreeNode = nil;begin for vNode in aTreeView.Items do begin if vNode.Level = aNodelevel then begin vLastNode := vNode; vNode.Selected := True; if not aTreeView.MultiSelect then Break; end; end; if Assigned(vLastNode) then vLastNode.Focused := True;end; As always no cpu or compiler was harmed.