Sistemde tanımlı olan renklerin listesini listbox’a ekleyip listbox’dan çift tıklama olayı sonucunda formun arkaplan rengini değiştiren uygulamayı bu örneğimizde görmüş olacağız.
Bir listbox içerisinde listelenen renk isimlerine tıklandıkça, formun zemin rengini değiştirecel örnek bir uygulama yapalım. Form üzerine 1 adet ListBox ekleyerek kodumuzu yazıyoruz.
1 2 3 4 5 6 7 8 9 10 11 12 13 | private void listBox1_DoubleClick(object sender, EventArgs e) { BackColor = ColorTranslator.FromHtml(listBox1.Text); } private void Form1_Load(object sender, EventArgs e) { var color = default(KnownColor); for (color = KnownColor.ActiveBorder; color < KnownColor.YellowGreen+1; color++) { listBox1.Items.Add(color); } } |
Formun Load olayında, form yüklenirken KnownColor özelliği ile sistem renklerini elde ederek for döngüsü kuruyoruz. Döngümüzü KnownColor özelliği elemanlarının ilk elemanı olan ActiveBorder elemanından son elemanı olan YellowGreen elemanına kadar kuruyoruz. ListBox içerisine döngü içerisinde sistem renklerini tek tek ekliyoruz.
Listbox nesnesinin DoubleClick olayında Listbox içerisinde seçili olan renk ismini ColorTranslator.FormHTML metodu ile sistem rengine dönüştürerek formun zemin rengine atıyoruz.