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

نسخة كاملة : رسالة تحذيرية عند إضافة الفاصل Separator
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
أخواني الأفاضل..
عند قيامي بإضافة Separators إلى قوائم الشريط MenuStrip ظهرت لي فجأة الرسالة التحذيرية التالية:

[ATTACH=CONFIG]1349[/ATTACH]


مع العلم أن البرنامج كان يعمل بشكل طبيعي على الرغم من وجود الفواصل في القوائم
فماذا حدث وما هو الخطأ الذي ربما ارتكبته بدون علم؟!!!

أرجو الإفادة جزاكم الله خيراً.
[COLOR="#008000"]السلام عليكم ورحمة الله وبركاته

الصراحة اخي لم تواجهي من قبل هذه المشكلة
اذا تحب ارفع برنامجك او جزء منه لنرى المشكلة
وان شاء الله خير
بأذن الله
ربي يحفظك[/COLOR]
شكراً جزيلاً أخي العزيز "مبرمج بلا حدود"
بعد عدة محاولات اكتشفت بفضل الله سبب الرسالة التحذيرية حيث أنني قد وضعت في كود إلغاء تفعيل قوائم الشريط MenuStrip الرسالة التالية:

كود :
Try
            '
                '
                    '
                        '
                    '
                '
            '
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Exclamation, MainFm.Text)
        End Try
[COLOR="#008000"]
abuzzouz كتب :شكراً جزيلاً أخي العزيز "مبرمج بلا حدود"
بعد عدة محاولات اكتشفت بفضل الله سبب الرسالة التحذيرية حيث أنني قد وضعت في كود إلغاء تفعيل قوائم الشريط MenuStrip الرسالة التالية:

كود :
Try
            '
                '
                    '
                        '
                    '
                '
            '
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Exclamation, MainFm.Text)
        End Try

الحمدلله
بالتوفيق ان شاء الله
ربي ىيحفظك ويبارك فيك
ربي يجزيك خير[/COLOR]
أخواني..

لا زالت المشكلة موجودة حيث أن الأمر يتعلق بكود إلغاء تفعيل قوائم الشريط MenuStrip دفعة واحدة تلقائياً عند تنفيذ أمر معين

كود :
Public Sub EnabeldMenuStripControls(ByVal b As Boolean)
        Dim MS As ToolStripMenuItem
        Try
            For Each MS In MainFm.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, MainFm.Text)
        End Try
    End Sub

إلا أن هذا الكود لا يتعرف على الفواصل Separators كـ Items موجودة في تلك القوائم، بمعنى أنه بدون هذه الفواصل يعمل الكود بشكل سليم ويلغي تفعيل كل القوائم في الشريط المذكور
فهل من إضافة على هذا الكود لاستثناء الفواصل من عملية إلغاء التفعيل تلك

مع جزيل الشكر
السلام عليكم
أخي الكريم الخطأ الذي وقعت به هو أنك حددت نوع المتغير كمتغير من نوع ToolStripMenuItem
الحل:
امسح التحديد وسيعمل الكود بشكل جيد

وهذا هو الكود بعد الحذف

كود :
Public Sub EnabeldMenuStripControls(ByVal b As Boolean)
       Try
            For Each MS1 In MainFm.MenuStrip1.Items
                If MS1.HasDropDownItems Then
                    For Each m In MS.DropDown.Items
                        m.Enabled = b
                    Next
                End If
            Next
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Exclamation, MainFm.Text)
        End Try
    End Sub
السلام عليكم ورحمة الله وبركاته

الــكــود بعـــد التعــديــــل :
كود :
Public Sub EnabeldMenuStripControls(ByVal b As Boolean)
        Dim MS As ToolStripMenuItem
        Try
            For Each MS In Me.MenuStrip1.Items
                If MS.HasDropDownItems Then
                    For Each m In MS.DropDownItems
                        If TypeOf m Is ToolStripMenuItem Then
                            m.Enabled = b
                        End If
                    Next
                End If
            Next
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Exclamation, Me.Text)
        End Try
    End Sub


****
***
**
*
شكراً أخواني الأفاضل Kslawy , sooriaty03 ..الله يديمكن