نوشته شده توسط
hamix666
این کار رو کردم ولی چون درخت رو پاک میکنم و دوباره می سازم fullpacth رو نمی شناسه و selectnode نمی شه
درخت من چند سطح دارد مثلا یک گره شاید 2 سطح داشته باشد و یک گره 10 سطح با forech هم نشد چون تعداد سطح ها مشخص نیست
در اینجور مواقع باید از توایع بازگشتی استفاده کنید.
این تابع یه ساختار درختی میگیره با یه رشته و اونو سرچ میکنه اگه تگ نود برابر بود با رشته اون نود رو برمیگردونه.یه کم با این تابع کار کنید روال کار میاد دستتون
public TreeNode SearchTree(TreeNodeCollection nodes, string searchtext)
{
foreach(TreeNode node in nodes)
{
if(node.Tag as string == searchtext)
{
return node;
}
SearchTree(node.Nodes, searchtext);
}
}
اینم نحوه استفادشه.
TreeNode tn = SearchTree( MyTreeView.Nodes, MySearchString);