نمایش نتایج 1 تا 7 از 7

نام تاپیک: بدست آوردن زیر منوهای یک منو

  1. #1
    کاربر دائمی آواتار رامین مرادی
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    آذربایجان
    پست
    1,961

    Question بدست آوردن زیر منوهای یک منو

    وقت بخیر دوستان
    من با کد زیر منوهای یک فرم رو چک میکنم و عملیات مد نظرم رو انجام میدم. حالا ممکنه هر منویی زیر منویی هم داشته باشه . اونارو چجوری میشه بدست آورد؟؟



    foreach (var item in radMenu1.Items)
    {
    if (_CheckPermission.CheckAccess(item.Tag.ToString()) )
    {
    item.Visibility = Telerik.WinControls.ElementVisibility.Visible;

    }
    else
    {
    item.Visibility = Telerik.WinControls.ElementVisibility.Collapsed;
    }

    }


  2. #2

    نقل قول: بدست آوردن زیر منوهای یک منو

    من تا حالا از radmenu استفاده نکردم، دقیق نمیدونم زیرمنو هاش رو چجوری پیاده سازی میکنه اما در حالت کلی شما از ساختار بازگشتی استفاده کنین، یک متد تعریف کنین که یک ورودی از نوع item میگیره، و داخلش چک کنین مثلا item.items.count مخالف صفره؟ اگر مخالف صفر بود داخل خود متد، دوباره متد رو فراخوانی کنین با ورودی Item.items[0] اما اگر صفر بود، عملیات مورد نظر رو انجام بدین، بعد از نوشتن این متد، بیاین داخل همون foreach اصلی، متد رو به ازای هر ایتم فراخوانی کنین

  3. #3

    نقل قول: بدست آوردن زیر منوهای یک منو

    سلام
    از این استفاده کن - بصورت کامل قرار میدم

     //افزودن آیتمهای منو به تری ویو
    foreach (ToolStripMenuItem menuItem in ms.Items)
    {
    treeView1.Nodes.Add(menuItem.Text);
    int currentNode = Convert.ToInt32(treeView1.Nodes.Count - 1);
    if (menuItem is ToolStripMenuItem)
    {
    foreach (ToolStripItem dropDown in menuItem.DropDownItems)
    {
    if (!(dropDown is ToolStripSeparator) && (dropDown is ToolStripItem))
    {
    int currentChildNode = Convert.ToInt32(treeView1.Nodes[currentNode].Nodes.Count);
    treeView1.Nodes[currentNode].Nodes.Add(dropDown.ToString());
    if (dropDown is ToolStripMenuItem)
    {
    ToolStripItemCollection subCollction = ((ToolStripMenuItem)dropDown).DropDownItems;
    foreach (ToolStripItem subDropDown in subCollction)
    {
    if (!(subDropDown is ToolStripSeparator) && (subDropDown is ToolStripItem))
    {
    treeView1.Nodes[currentNode].Nodes[currentChildNode].Nodes.Add(subDropDown.ToString());
    }
    }
    }

    }
    }
    }
    }

  4. #4
    مدیر بخش آواتار danialafshari
    تاریخ عضویت
    تیر 1387
    محل زندگی
    هر کجا هستم باشم آسمان مال من است
    پست
    2,909

    نقل قول: بدست آوردن زیر منوهای یک منو

    با سلام
    توی تلریک رو نمیدونم ولی استاندارد به این شکله:

    private IEnumerable<ToolStripMenuItem> GetItems(ToolStripMenuItem item)
    {
    foreach (ToolStripMenuItem dropDownItem in item.DropDownItems)
    {
    if (dropDownItem.HasDropDownItems)
    {
    foreach (ToolStripMenuItem subItem in GetItems(dropDownItem))
    yield return subItem;
    }
    yield return dropDownItem;
    }
    }


    List<ToolStripMenuItem> allItems = new List<ToolStripMenuItem>();
    private void btnLoad_Click(object sender, EventArgs e)
    {

    foreach (ToolStripMenuItem toolItem in menuStrip1.Items)
    {
    allItems.Add(toolItem);
    //add sub items
    allItems.AddRange(GetItems(toolItem));
    }
    }

    می تونید از allItems استفاده کنید
    تنها مشکلش اینه که نباید در منو Separator (خط جدا کننده) داشته باشه
    موفق باشید
    لطفاً از پرسیدن سوال در خصوصی خودداری کنید.
    قبل از ایجاد تاپیک، حتماً قوانین سایت را مطالعه فرمایید.
    قوانین پرسش های دانشجویی
    برای درست وارد شدن کد در قالب C#‎‎‎ سایت، ابتدا کد رو درون Notepad.exe کپی سپس از اونجا به سایت در قالب C#‎‎‎ منتفل کنید
    نرم افزار code manager دستیار برنامه نویسان جهت نگهداری کد ها

  5. #5
    کاربر دائمی آواتار رامین مرادی
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    آذربایجان
    پست
    1,961

    نقل قول: بدست آوردن زیر منوهای یک منو

    ممنون دوست عزیز جالبه که نه خاصیت DropDownItems داره نه خاصیت items
    درصورتی که لینکی هم در مورد این موضوع پیدا کردید ممنون میشم راهنماییم کنید. روش بازگشتی خیلی خوبه به نظرم. اینجوری زیر منو ها هم راحت پیدا میشه.

  6. #6
    کاربر دائمی آواتار رامین مرادی
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    آذربایجان
    پست
    1,961

    نقل قول: بدست آوردن زیر منوهای یک منو

    از همه دوستان تشکر میکنم.
    حل شد کافی بود به جای var از RadMenuItem استفاده میکردم.

  7. #7

    نقل قول: بدست آوردن زیر منوهای یک منو

    تنها مشکلش اینه که نباید در منو Separator (خط جدا کننده) داشته باشه
    سلام
    اینجوری ارور نمیده



    private IEnumerable<ToolStripMenuItem> GetItems(ToolStripMenuItem item)
    {
    foreach (ToolStripMenuItem dropDownItem in item.DropDownItems.OfType<ToolStripMenuItem>())
    {
    if (dropDownItem.HasDropDownItems)
    {
    foreach (ToolStripMenuItem subItem in GetItems(dropDownItem).OfType<ToolStripMenuItem>() )
    yield return subItem;
    }


    yield return dropDownItem;
    }
    }
    قوانین سایت برنامه نویس [ به سوالات از طریق پیام خصوصی پاسخ داده نمی شود ]

تاپیک های مشابه

  1. سوال: بدست آوردن نام ایتمهای یک منو
    نوشته شده توسط MOR_MS در بخش VB.NET
    پاسخ: 1
    آخرین پست: دوشنبه 16 تیر 1393, 07:45 صبح
  2. سوال: مشکل در بدست اوردن id منوها و زیر منوهای یک jquery tree node
    نوشته شده توسط ho3ink2 در بخش jQuery
    پاسخ: 5
    آخرین پست: شنبه 05 مرداد 1392, 02:00 صبح
  3. پاسخ: 1
    آخرین پست: چهارشنبه 06 مهر 1390, 12:43 عصر
  4. دسترسی به زیر منوهای یک آیتم در منو
    نوشته شده توسط Sal_64 در بخش C#‎‎
    پاسخ: 5
    آخرین پست: دوشنبه 21 بهمن 1387, 21:21 عصر
  5. چگونه کنار زیر منوهای یک منو در ویژوال بیسیک عکس قرار دهیم
    نوشته شده توسط sepahbod در بخش برنامه نویسی در 6 VB
    پاسخ: 5
    آخرین پست: یک شنبه 30 مهر 1385, 19:43 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •