با سلام
من می خوام آیتم های موجود در منو های برنامه ام را به همان صورت که در منو ها هستند در یک TreeView نمایش دهم
آیا دستوری هست که بشود به یک باره آیتم های منو را تبدیل به نود های TreeView کرد
یا اگر نیست شما برای این کار چه پیشنهاد می کنید
با سلام
من می خوام آیتم های موجود در منو های برنامه ام را به همان صورت که در منو ها هستند در یک TreeView نمایش دهم
آیا دستوری هست که بشود به یک باره آیتم های منو را تبدیل به نود های TreeView کرد
یا اگر نیست شما برای این کار چه پیشنهاد می کنید
شايد بتوان با Addrange اين کار رو کرد :
tv.Nodes.Addrange(mnu.DropDownItems)
حلقه For بهترين گزينه هستیا اگر نیست شما برای این کار چه پیشنهاد می کنید
Sub Add2TV(Mn As toolstripItem)
dim nd as treeNode
nd=nd.Nodes.Add("")
For Each Mnu as toolstripMenuItem In MyMenu.dropDownItems
Add2Tv(mnu)
next
End sub
آخرین ویرایش به وسیله Hossis : یک شنبه 23 خرداد 1389 در 11:43 صبح
ممنون از راهنمایی تون ، ولی اگر منو ها دارای چند زیر منو باشد با یک حلقه for یا دو حلقه تو در تو نمی توان به تمام آیتم های منو با زیر منوهایش دست یافت
به نظر باید از توابع بازگشتی استفاده کرد ولی مشکل در طریقه پیاده سازی آن است
روشی شبیه روش پیمایش درخت ها
راهش اينه که هر نود که اضافه مي شه ، به حاقظه سپرده بشه ، اگر منويي که تبديل به اون نود شده، زير منو داشته، Level اون گرفته بشه و اگر از لول آيتم قبلي بيشتر بود، زير مجموعه نود سابق قرار بگيره
من اين کار رو با سرفصل هاي صفحات وب انجام داده ام ولي با اين کار، آزمايش نکردم و وقت تست و انجام اون رو هم ندارم
همين کار رو انجام بديد شايد نتيجه بده