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

نسخة كاملة : مثال تغيير ثيم البرنامج وقت التشغيل
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم مرحبا شباب كيف حالكم

هذا مثال لإختيار ولتغيير الثيم وقت تشغيل البرنامج  كخيارات الاؤبشن مثلا

الثال في المرفقات

عيب هذا المثال  انه في الكود عليك كتابة اسماء كل الادوات في كل الفورمات ليتغير ثيمها  Confused
ربما نجد حل عند الخبراء Smile

هذا المرفق
الله يحفذك اخي
جميل جداً بارك الله فيك
أكثر من رائع
(29-04-16, 11:17 AM)honest كتب : [ -> ]السلام عليكم مرحبا شباب كيف حالكم

هذا مثال لإختيار ولتغيير الثيم وقت تشغيل البرنامج  كخيارات الاؤبشن مثلا

الثال في المرفقات

عيب هذا المثال  انه في الكود عليك كتابة اسماء كل الادوات في كل الفورمات ليتغير ثيمها  Confused
ربما نجد حل عند الخبراء Smile

هذا المرفق

بارك الله فيك
لإصلاح "العيب" استبدل كود الفورم 2 بهذا الكود

كود :
Imports SimpleTheme.ThirteenButton

Public Class Form2
   ' رد على موضوع
   ' مثال تغيير ثيم البرنامج وقت التشغيل
   ' http://vb4arb.com/vb/showthread.php?tid=15626
   ' إضافة إمكانية تغيير الثيم لكل الأدوات في فورم معين
   ' بدلا من كتابة اسم كل اداة لوحدها كما كانت في السابق
   
   Private Sub SetColorScheme(form As Form, Skin As ColorSchemes)

       For Each MyControl As Control In form.Controls
           If (MyControl.GetType() Is GetType(ThirteenForm)) Then
               Dim MyCustomForm As ThirteenForm = CType(MyControl, ThirteenForm)
               MyCustomForm.ColorScheme = Skin

               For Each ctrl As Control In MyCustomForm.Controls

                   If (ctrl.GetType() Is GetType(ThirteenButton)) Then

                       Dim MyCustomControl As ThirteenButton = CType(ctrl, ThirteenButton)
                       MyCustomControl.ColorScheme = Skin

                   ElseIf (ctrl.GetType() Is GetType(ThirteenCheckBox)) Then
                       Dim MyCustomControl As ThirteenCheckBox = CType(ctrl, ThirteenCheckBox)
                       MyCustomControl.ColorScheme = Skin

                   ElseIf (ctrl.GetType() Is GetType(ThirteenComboBox)) Then
                       Dim MyCustomControl As ThirteenComboBox = CType(ctrl, ThirteenComboBox)
                       MyCustomControl.ColorScheme = Skin

                   ElseIf (ctrl.GetType() Is GetType(ThirteenControlBox)) Then
                       Dim MyCustomControl As ThirteenControlBox = CType(ctrl, ThirteenControlBox)
                       MyCustomControl.ColorScheme = Skin

                   ElseIf (ctrl.GetType() Is GetType(ThirteenRadioButton)) Then
                       Dim MyCustomControl As ThirteenRadioButton = CType(ctrl, ThirteenRadioButton)
                       MyCustomControl.ColorScheme = Skin

                   ElseIf (ctrl.GetType() Is GetType(ThirteenTabControl)) Then
                       Dim MyCustomControl As ThirteenTabControl = CType(ctrl, ThirteenTabControl)
                       MyCustomControl.ColorScheme = Skin

                   ElseIf (ctrl.GetType() Is GetType(ThirteenTextBox)) Then
                       Dim MyCustomControl As ThirteenTextBox = CType(ctrl, ThirteenTextBox)
                       MyCustomControl.ColorScheme = Skin
                   End If
               Next

           End If

       Next

   End Sub


   Private Sub ThirteenButton1_Click(sender As Object, e As EventArgs) Handles ThirteenButton1.Click
       If ThirteenComboBox1.Text = "Dark" Then

           SetColorScheme(Form1, ColorSchemes.Dark)
           SetColorScheme(Me, ColorSchemes.Dark)


       Else : ThirteenComboBox1.Text = "Light"
           SetColorScheme(Form1, ColorSchemes.Light)
           SetColorScheme(Me, ColorSchemes.Light)

       End If
   End Sub
End Class