السلام عليكم اخواني لو سمحتم بهذا الملف تتغير الالوان بالتاكست بكس للاحمر و الاسود و هو يعمل بشكل جيد
سؤالي هو هل يمكن اضافة لون ثالث للوميض مثلا اضافة اللون الاخضر و بارك الله فيكم
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles 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 Object, e As EventArgs) Handles MyBase.Load TextBox1.BackColor = Color.Black Timer1.Interval = 200 Timer1.Start() End Sub End Class
الكود المقدم يحتوي على مشكلة صغيرة في التعامل مع TextBox1.BackColor باستخدام جملة Select Case. المشكلة هي أنه في كل مرة يحدث فيها حدث Tick في Timer1، سيتم مقارنة اللون مع الألوان المحددة، ولكن عندما يتم تغيير اللون إلى Color.Black، سيقوم البرنامج بتغيير اللون إلى Color.Red ثم إلى Color.Blue وهكذا، ولن يكون هناك تكرار صحيح لللون الأصلي عند العودة من اللون Blue إلى Black.
لحل المشكلة، يمكن استخدام طريقة أكثر استقرارًا باستخدام مقارنة اللون الحالي وتغييرها بشكل صحيح في كل حالة.
إليك الكود المصحح:
PHP كود :
Public Class Form1
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles 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