![]() |
|
تغيير لون مجموعه ازرار - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183) +--- الموضوع : تغيير لون مجموعه ازرار (/showthread.php?tid=46504) |
تغيير لون مجموعه ازرار - Shade0001 - 08-07-23 استخدم هذا الكود لتغيير مجموعة ازرار من BTNRG1 الى BTNRG11
Public Sub ColorSelectRG(ByVal colorr As Integer, ByVal colorg As Integer, ByVal colorb As Integer)
Try Dim numColor As Integer = 28 For i As Integer = 1 To 11 Dim btn As Button = CType(Me.Controls("BTNRG" & i.ToString()), Button) If btn IsNot Nothing Then btn.BackColor = Color.FromArgb(colorr, colorg, colorb) colorg += numColor End If Next Catch ex As Exception MessageBox.Show(ex.Message) End Try End Sub المشكلة لا تتغير الالوان بالشكل المطلوب ولا يظهر خطا ولكن قبل استخدام IF في الكود كان يظهر خطا لم اعرف سببة
RE: تغيير لون مجموعه ازرار - Taha Okla - 08-07-23 للتحكم بمجموعة عناصر قم بإستخدام For Each...Next : Statement المنتدى مليء بالكثير من الامثلة ابحث وستجد أكثر مما ترغب به.. فقط عدل الكود لما يناسب مشروعك.. RE: تغيير لون مجموعه ازرار - Shade0001 - 08-07-23 بحث مالقيت
كتبته بس نفس المشكلة ما يصير شي1-
Private Sub COLORSELECTRG(ByRef COLORR As Integer, ByRef COLORG As Integer, ByRef COLORB As Integer)
Dim NUMCOLOR As Integer = 28
Dim I As Integer = 1
For Each btn As Button In Me.Controls.OfType(Of Button)().Where(Function© c.Name.StartsWith("BTNRG"))
Dim NUMBTN As Integer = I
NUMCOLOR += 28
btn.BackColor = Color.FromArgb(COLORR, COLORG, COLORB)
COLORG += NUMCOLOR
I += 1
Next
End Sub
2-
Private Sub COLORSELECTRG(ByRef COLORR As Integer, ByRef COLORG As Integer, ByRef COLORB As Integer)
Dim NUMCOLOR As Integer = 28
Dim I As Integer = 1
For Each ctrl As Control In Me.Controls
If TypeOf ctrl Is Button AndAlso ctrl.Name.StartsWith("BTNRG") Then
Dim btn As Button = DirectCast(ctrl, Button)
Dim NUMBTN As Integer = I
NUMCOLOR += 28
btn.BackColor = Color.FromArgb(COLORR, COLORG, COLORB)
COLORG += NUMCOLOR
I += 1
End If
Next
End Sub
RE: تغيير لون مجموعه ازرار - Taha Okla - 08-07-23 لو كل الأزرار التي تريد تلوينها فيها شيء مشترك غير موجود في غيرها .. مثلاً كلها تحتوي في تسميتها (خاصية (Name)) الكلمة ("BTNRG") فيصبح الكود المسؤول عن تلوين الأزار : كود : Dim xBt = From bt In Controls.OfType(Of ButtonBase)()ملاحظة1 : هذا الكود حساس لحالة الأحرف، فإن تغير شكل الحرف (من كبير لصغير أو العكس) توقف عن العمل.. فيفضل حينها استخدام خاصية شكل الحرف الموحد بإستخدام خاصية (ToUpper) أو (ToLower).. ملاحظة 2 : هنالك أكواد أفضل من هذا بكثير وفيها إبداع ملحوظ،، ولكن تحتاج أن تبحث ضمن المنتدى وتجرب بنفسك .. |