منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
مثال تغيير ثيم البرنامج وقت التشغيل - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم امثلة ومشاريع VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=188)
+--- الموضوع : مثال تغيير ثيم البرنامج وقت التشغيل (/showthread.php?tid=15626)



مثال تغيير ثيم البرنامج وقت التشغيل - honest - 29-04-16

السلام عليكم مرحبا شباب كيف حالكم

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

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

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

هذا المرفق


RE: مثال تغيير ثيم البرنامج وقت التشغيل - bidaya - 29-04-16

الله يحفذك اخي


RE: مثال تغيير ثيم البرنامج وقت التشغيل - العزابي - 30-04-16

جميل جداً بارك الله فيك


RE: مثال تغيير ثيم البرنامج وقت التشغيل - IBRA939 - 26-12-16

أكثر من رائع


RE: مثال تغيير ثيم البرنامج وقت التشغيل - محمد كريّم - 08-08-19

(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