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

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (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=39800)



طلب كود - paveldida - 26-10-21

السلام عليكم
أحتاج كود لتغيير خلفية textbox الذي يكون في حالة select  أي المحدد 



RE: طلب كود - asmarsou - 26-10-21

(26-10-21, 01:16 AM)paveldida كتب :
السلام عليكم
أحتاج كود لتغيير خلفية textbox الذي يكون في حالة select  أي المحدد 

و عليكم السلام و رحمة الله و بركاته
 اليك بهذا المثال لعله مثل ما تنشد


RE: طلب كود - paveldida - 31-10-21

بارك الله فيك أخي


RE: طلب كود - paveldida - 01-11-21

ممكن كود آخر يكون مختصر اكثر


RE: طلب كود - asmarsou - 01-11-21

(01-11-21, 12:22 AM)paveldida كتب : ممكن كود آخر يكون مختصر اكثر

اصف لمشروعك  مؤقت و ازرع فيه الكود التالي مع مراعاة ان يكون المؤقت مفعل
كود :
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
     
       For Each ctrl As Control In Me.Controls
           If TypeOf ctrl Is TextBox Then
               If ctrl.Name = Me.ActiveControl.Name Then
                   ctrl.BackColor = Color.BlueViolet
               Else
                   ctrl.BackColor = Color.White
               End If
           End If      
       Next
   End Sub



RE: طلب كود - Anas Mahmoud - 02-11-21

اخي سلام عليكم اذا كنت ستستخدم الكثر من مربعات النص هذه فانه ليس من الحكمة استخدام احداث Enter و Leave لكل مربع نص على حدة
وكذلك فكرة استخدام تايمر تستهلك من عتاد الكمبيوتر بلا داعي


قمت بكتابة كلاس بمثابة تكست بوكس معدل يضيف خاصية ActiveBackColor بحيث تسند اليها اللون الذي تريده للخلفية في حالة النشاط

كود :
Imports System.ComponentModel

Public Class BackColorTextBox
   Inherits TextBox
#Region "Private Variables"
   Private IsActive As Boolean = False
   Private DefaultBackgroundColor As Color = Nothing
#End Region
#Region "Properties"
   Private m_ActiveBackColor As Color = SystemColors.Window
   <Description("Back Color When Active لون الخلفية في حالة النشاط"),
   Category("Appearance")>
   Public Property ActiveBackColor As Color
       Get
           Return m_ActiveBackColor
       End Get
       Set(value As Color)
           m_ActiveBackColor = value
           If IsActive Then setBackColor()
       End Set
   End Property
#End Region
#Region "Events Overrides"
   Protected Overrides Sub OnEnter(e As EventArgs)
       Console.WriteLine("On Enter")
       IsActive = True
       setBackColor()
       MyBase.OnEnter(e)
   End Sub
   Protected Overrides Sub OnLeave(e As EventArgs)
       Console.WriteLine("On Leave")

       IsActive = False
       resetDefaultBackColor()
       MyBase.OnLeave(e)
   End Sub
#End Region
#Region "Private Methods"
   Private Sub setBackColor()

       If DefaultBackgroundColor = Nothing Then DefaultBackgroundColor = BackColor
       BackColor = m_ActiveBackColor
   End Sub
   Private Sub resetDefaultBackColor()
       BackColor = DefaultBackgroundColor
       DefaultBackgroundColor = Nothing
       'خلي قيمة الباكجراوند الاصلية بلا شيء
   End Sub
#End Region

End Class

اضف هذا الكلاس الى مشروعك وقم بعمل Build و من ثم اضف الاداه الى مشروعك بدلا من ال textbox العادي

[attachment=27120]

ثم اسند اللون الذي تريده من الخاصية ActiveBackColor 


[attachment=27121]

[attachment=27122]

قمت بالتعديل على مثال الاخ asmarsou


RE: طلب كود - asmarsou - 02-11-21

(02-11-21, 05:26 PM)Anas Mahmoud كتب : اخي سلام عليكم اذا كنت ستستخدم الكثر من مربعات النص هذه فانه ليس من الحكمة استخدام احداث Enter و Leave لكل مربع نص على حدة
وكذلك فكرة استخدام تايمر تستهلك من عتاد الكمبيوتر بلا داعي


قمت بكتابة كلاس بمثابة تكست بوكس معدل يضيف خاصية ActiveBackColor بحيث تسند اليها اللون الذي تريده للخلفية في حالة النشاط

كود :
Imports System.ComponentModel

Public Class BackColorTextBox
   Inherits TextBox
#Region "Private Variables"
   Private IsActive As Boolean = False
   Private DefaultBackgroundColor As Color = Nothing
#End Region
#Region "Properties"
   Private m_ActiveBackColor As Color = SystemColors.Window
   <Description("Back Color When Active لون الخلفية في حالة النشاط"),
   Category("Appearance")>
   Public Property ActiveBackColor As Color
       Get
           Return m_ActiveBackColor
       End Get
       Set(value As Color)
           m_ActiveBackColor = value
           If IsActive Then setBackColor()
       End Set
   End Property
#End Region
#Region "Events Overrides"
   Protected Overrides Sub OnEnter(e As EventArgs)
       Console.WriteLine("On Enter")
       IsActive = True
       setBackColor()
       MyBase.OnEnter(e)
   End Sub
   Protected Overrides Sub OnLeave(e As EventArgs)
       Console.WriteLine("On Leave")

       IsActive = False
       resetDefaultBackColor()
       MyBase.OnLeave(e)
   End Sub
#End Region
#Region "Private Methods"
   Private Sub setBackColor()

       If DefaultBackgroundColor = Nothing Then DefaultBackgroundColor = BackColor
       BackColor = m_ActiveBackColor
   End Sub
   Private Sub resetDefaultBackColor()
       BackColor = DefaultBackgroundColor
       DefaultBackgroundColor = Nothing
       'خلي قيمة الباكجراوند الاصلية بلا شيء
   End Sub
#End Region

End Class

اضف هذا الكلاس الى مشروعك وقم بعمل Build و من ثم اضف الاداه الى مشروعك بدلا من ال textbox العادي



ثم اسند اللون الذي تريده من الخاصية ActiveBackColor 






قمت بالتعديل على مثال الاخ asmarsou

جزاك الله عنا كل خير اخي الفاضل


RE: طلب كود - paveldida - 03-11-21

بارك الله فيك و رحم الله اباك