السلام عليكم ورحمة الله
عندما يكون لديك مشروع كبير يجتوي على عدد من الفورمز Forms مثلا 20 أو 30 فورم وطلب منك العميل تغير لون الخط لانه باهت مثلا فإن القيام بالتغير أمر عسير وممل جدا
ولإختصار الوقت والجهد استخدم هذا الكود لتجعل لمشروعك نمط مطبق على جميع الفورمز بكل سهولة ويسر.
كل ما عليك هو وضع الخصائص لكل كنترول على حدى وفي كل فورم في مشروعك ضع السطر التالي في Sub New()
ApplyStyle(Me)
وأي تغيير في هذا الاجراء سيظهر في المشروع
Module Style Public Sub ApplyStyle(ByRef ctl As Control) If TypeOf ctl Is Form Then ctl.BackColor = Color.WhiteSmoke ctl.ForeColor = Color.Blue 'PUT SOME CODE ElseIf TypeOf ctl Is TextBox Then ctl.BackColor = Color.LightYellow DirectCast(ctl, TextBox).BorderStyle = BorderStyle.FixedSingle 'PUT SOME CODE ElseIf TypeOf ctl Is Panel Then 'PUT SOME CODE ElseIf TypeOf ctl Is GroupBox Then ctl.ForeColor = Color.DarkGreen 'PUT SOME CODE ElseIf TypeOf ctl Is Label Then 'PUT SOME CODE ElseIf TypeOf ctl Is CheckBox Then 'PUT SOME CODE ctl.ForeColor = Color.Red ElseIf TypeOf ctl Is RadioButton Then ctl.ForeColor = Color.Gray 'PUT SOME CODE ElseIf TypeOf ctl Is Button Then 'PUT SOME CODE ElseIf TypeOf ctl Is LinkLabel Then 'PUT SOME CODE ElseIf TypeOf ctl Is ComboBox Then ctl.BackColor = Color.Gold ElseIf TypeOf ctl Is ListBox Then ctl.ForeColor = Color.GreenYellow Else 'PUT SOME CODE End If 'if the control conten other controls اذا كان الكنترول يحتوي على كنترولز أخرى If ctl.Controls.Count > 0 Then For Each c As Control In ctl.Controls ApplyStyle(c) 'استدعاء ذاتي لنفس لاجراء Next End If End Sub End Module
الموضوع بسيط والكود سهل واي سؤال انا حاضر ان شاء الله
