C# Textbox kutusunun içine yazı yazıldığında renk değiştirmesi

warrior2

Hectopat
Katılım
22 Ekim 2021
Mesajlar
812
Daha fazla  
Cinsiyet
Erkek
Merhaba. C#'ta textbox kutusunun içine herhangi bir şey yazıldığında renk değiştirmesini istiyorum, nasıl yapabilirim?
 
Merhaba TextBox_TextChanged event kullanarak yapabilirsin.
1696886180468.png
event içine de;


C#:
  if (textBox1.Text.Length > 0)

    {

        textBox1.BackColor = Color.Yellow;

    }


Sonra Form_Load' a şunu yaz:
C#:
 textBox1.TextChanged += new EventHandler(TextBox_TextChanged);
 
Bir dinleyici eklemen gerekir. Bu dinleyici textbox içinde yazının her değişmesinde tetiklenen bir dinleyici olacak.

Textbox değişkenin adı ne ise yanına şunu ekleyerek "_TextChanged" adında metot oluşturmalısn. Şu paremetrelerde eklenmeli "object sender, EventArgs e". Bunu Textbox nesnesine bağlaman gerekir.
Yada textbox'a iki kere tıklarsan oluşturuyor herhalde bu metodu.

Metotun içine rastgele sayı üretmesi için Random sınıfından bir nesne türetmen gerekir.
Random r = new Random();

Daha sonra rastgele sayılardan renk üretmek için Color sınıfından da bir nesne türetmen gerekir.

Color randomColor = Color.FromArgb(renk1, renk2, renk3)

Rengimiz RBG formatında olacak.
renk1, 2, 3 bir int değişken ve değeri r.Next(256) şeklinde Random sınıfın Next metoduyla elde edilen 0-255 arası, random bir sayıdır.
Böylelikle Random bir renk elde edersin.

En sonunda da textbox nesnesini yazı rengini değiştirmek için ForeColor değişkenini kullanmalısın. Forecolor değişkenine, Color sınıfından ürettiğin rengi aktarmalısın.

textbox.ForeColor = randomColor;

C#:
private void textBox1_TextChanged(object sender, EventArgs e)
{
 
    Random r = new Random();
    Color randomColor = Color.FromArgb(r.Next(256), r.Next(256), r.Next(256));
    textBox1.ForeColor = randomColor;
}
 
Son düzenleme:

Technopat Haberler

Geri
Yukarı