منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : اضافة لون للالوان في التاكست بكس
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم اخواني لو سمحتم بهذا الملف تتغير الالوان بالتاكست بكس للاحمر و الاسود و هو يعمل بشكل جيد
سؤالي هو هل يمكن اضافة لون ثالث للوميض مثلا اضافة اللون الاخضر و بارك الله فيكم
وعليكم السلام و رحمة الله و بركاته
 تفضل
PHP كود :
Public Class Form1

    Private Sub Timer1_Tick
(sender As ObjectAs EventArgsHandles Timer1.Tick

        Select 
Case TextBox1.BackColor
            Case Color
.Blue
                TextBox1
.BackColor Color.Black
            Case Color
.Black
                TextBox1
.BackColor Color.Red
            Case Color
.Red
                TextBox1
.BackColor Color.Blue
        End Select

    End Sub

    Private Sub Form1_Load
(sender As ObjectAs EventArgsHandles MyBase.Load
        TextBox1
.BackColor Color.Black
        Timer1
.Interval 200
        Timer1
.Start()
 
   End Sub
End 
Class 
بارك الله فيك اخ asmarsou
يعمل بشكل جيد جزاك الله كل خير ان شاء الله
الكود المقدم يحتوي على مشكلة صغيرة في التعامل مع TextBox1.BackColor باستخدام جملة Select Case. المشكلة هي أنه في كل مرة يحدث فيها حدث Tick في Timer1، سيتم مقارنة اللون مع الألوان المحددة، ولكن عندما يتم تغيير اللون إلى Color.Black، سيقوم البرنامج بتغيير اللون إلى Color.Red ثم إلى Color.Blue وهكذا، ولن يكون هناك تكرار صحيح لللون الأصلي عند العودة من اللون Blue إلى Black.

لحل المشكلة، يمكن استخدام طريقة أكثر استقرارًا باستخدام مقارنة اللون الحالي وتغييرها بشكل صحيح في كل حالة.

إليك الكود المصحح:


PHP كود :
Public Class Form1

    Private Sub Timer1_Tick
(sender As ObjectAs EventArgsHandles Timer1.Tick
        
' فحص اللون الحالي لـ TextBox1.BackColor وتغيير اللون بناءً على القيمة الحالية
        If TextBox1.BackColor = Color.Blue Then
            TextBox1.BackColor = Color.Black
        ElseIf TextBox1.BackColor = Color.Black Then
            TextBox1.BackColor = Color.Red
        ElseIf TextBox1.BackColor = Color.Red Then
            TextBox1.BackColor = Color.Blue
        End If
    End Sub

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        ' 
تعيين اللون الأولي للـ TextBox
        TextBox1
.BackColor Color.Black
        Timer1
.Interval 200 ' تعيين التوقيت بين كل "Tick" إلى 200 ميلي ثانية
        Timer1.Start() ' 
بدء المؤقت
    End Sub

End 
Class 
بارك الله فيك و جزاك الله خيرا اخ kamil على الاضافة الرائعة و الشرح الكافي و الكود يعمل كذلك جيدا