منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : تفعيل وإلغاء تفعيل Toolstripmenuitem
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
أخواني الأعزاء..

لدي شريط قوائم MenuStrip يحتوي على عدة قوائم وكل قائمة تحتوي عنوان رئيسي ويتفرع من كل عنوان عدد من الـ Items ما أريده هو إمكانية تفعيل وإلغاء تفعيل الـ Items فقط بدون العناوين الرئيسية وذلك دفعة واحدة لكل القوائم

مع العلم اني توصلت من خلال البحث إلى الكود التالي لكنه يؤثر على كل قوائم الـ MenuStrip حتى العناوين الرئيسية وهذا ما لا أريده .. إليكم الكود:

كود :
Private Sub SetAllMenuItems(ByRef menuStrip As MenuStrip, ByVal enable As Boolean)
        Dim c As ToolStripItem
        Dim t As ToolStripMenuItem

        For Each c In menuStrip.Items
            c.Enabled = enable

            If c.GetType Is GetType(ToolStripMenuItem) Then
                t = c
                SetAllMenuItems(t.DropDownItems, enable)
            End If
        Next
    End Sub


    Private Sub SetAllMenuItems(ByRef menus As ToolStripItemCollection, ByVal enable As Boolean)
        Dim c As ToolStripItem
        Dim t As ToolStripMenuItem

        For Each c In menus
            c.Enabled = enable

            If c.GetType Is GetType(ToolStripMenuItem) Then
                t = c
                SetAllMenuItems(t.DropDownItems, enable)
            End If
        Next
    End Sub

        SetAllMenuItems(Me.MenuStrip1, True)
موضوعك مكرر
أخي العزيز M.Sami.AK جزاك الله خيراً .. إلا أن موضوعي لا يتعلق بالـ ToolStrip بل يتعلق بقوائم الـ MenuStrip

وشكرأ جزيلاً لاهتمامك
السلام عليكم ورحمة الله وبركاته

كود :
Private Sub EnabeldMenuStripControls(ByVal b As Boolean)
        Dim MS As ToolStripMenuItem
        Try


            For Each MS In MenuStrip1.Items
                If MS.HasDropDownItems Then
                    For Each m As ToolStripMenuItem In MS.DropDown.Items
                        m.Enabled = b
                    Next
                End If
            Next


        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Exclamation, Me.Text)
        End Try
    End Sub


****
***
**
*
شكراً جزيلاً أخي العزيز kaslawy .. كثر الله من أمثالك