منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
الإستعمال الإختياري الأمثل لل BONUS SKINS - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغات البرمجة الاخرى (http://vb4arb.com/vb/forumdisplay.php?fid=4)
+--- قسم : تقنية البرمجة Dev Express (http://vb4arb.com/vb/forumdisplay.php?fid=201)
+--- الموضوع : الإستعمال الإختياري الأمثل لل BONUS SKINS (/showthread.php?tid=35991)



الإستعمال الإختياري الأمثل لل BONUS SKINS - عبد العزيز البسكري - 05-08-20

السّلام عليكم و رحمة الله و بركاته
إخواني الأكارم
أحيانا أثناء تصميمنا لمنظومة ما .. و عند إستعمالنا و تغييرنا لشكل السكاين أثناء التشغيل .. قد تتغيّر وضعية الأزرار أو التاكسات و ما شابه ذلك ..
هذه الإشكالية لا تظهر أثناء التصميم لكن الكل قد لاحظها أثناء التنفيذ
كمثال لتوضيح ما تمّ ذكره ..
لا حظوا وضعية الأزرار داخل ال GroupControl

نفس الفورم و نفس الصفحة .. فقط قمت بتغيير السكاين .. فتغيّر معها كل شيء بشكل فضيع
و لا يمكن .. بل غير مقبول تماما ( إيتيكيتيَّا ) ..
أن تسلّم للعميل منظومة .. يختفي نصف محتوياتها .. إذا فقط قام بتغيير سكاين على مزاجه

الحل .. من وجهة نظري البسيطة
نقوم باختبار للسكاينات التي لا تسبّب أي تشوّه للفورم و محتوياتها
و نحذف الباقي من السكاينات غير المرغوب فيها

نعلن عن متغيّر عام بالفورم المقصودة بتغيير السكاينات
و نكتب أسماء السكاينات التي نريد إخفائها تماما .. كمثال

كود :
   Private Bonus_Skins_To_Hide() As String = {"Black", "Blue", "Seven", "Whiteprint", "Visual Studio 2010", "Seven Classic", "Visual Studio 2013 Light", "Visual Studio 2013 Dark"}

ثم .. يتم وضع هذا الكود بأي مكان بنفس الفورم ..
كود :
   Private Sub Hide_Specific_Skin_From_Ribbon_Gallery()
       For i = 0 To SkinRibbonGalleryBarItem1.Gallery.Groups.Count - 1
           Dim Ggroup = SkinRibbonGalleryBarItem1.Gallery.Groups(i)
           If Ggroup Is Nothing Then
               Continue For
           End If
           For j = 0 To Ggroup.Items.Count - 1
               Dim Iitems = Ggroup.Items(j)
               If Iitems Is Nothing Then
                   Continue For
               End If
               For Each Sskin In Bonus_Skins_To_Hide
                   If String.Equals(Iitems.Caption, Sskin) Then
                       Iitems.Visible = False
                   End If
               Next Sskin
           Next j
       Next i
   End Sub

و أخيرا نقوم باستدعاء ما سبق بالفورم لود ..
كود :
Call Hide_Specific_Skin_From_Ribbon_Gallery()

تحياتي واحتراماتي