تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[كود] طلب كود
#1
السلام عليكم
أحتاج كود لتغيير خلفية textbox الذي يكون في حالة select  أي المحدد 
الرد }}}
تم الشكر بواسطة: أشرف كريم 2
#2
(26-10-21, 01:16 AM)paveldida كتب :
السلام عليكم
أحتاج كود لتغيير خلفية textbox الذي يكون في حالة select  أي المحدد 

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


الملفات المرفقة
.rar   Changing Textbox Backcolor.rar (الحجم : 64.7 ك ب / التحميلات : 16)
الرد }}}
#3
بارك الله فيك أخي
الرد }}}
تم الشكر بواسطة: asmarsou , أشرف كريم 2 , ابراهيم ايبو
#4
ممكن كود آخر يكون مختصر اكثر
الرد }}}
تم الشكر بواسطة: asmarsou , أشرف كريم 2 , ابراهيم ايبو
#5
(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
الرد }}}
#6
اخي سلام عليكم اذا كنت ستستخدم الكثر من مربعات النص هذه فانه ليس من الحكمة استخدام احداث 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


الملفات المرفقة
.zip   BackColorTextBox.zip (الحجم : 722 بايت / التحميلات : 4)
.zip   Changing Textbox Backcolor.zip (الحجم : 12.41 ك ب / التحميلات : 4)
الرد }}}
#7
(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

جزاك الله عنا كل خير اخي الفاضل
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو
#8
بارك الله فيك و رحم الله اباك
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم