C# veri tabanından renk çekme

Burak C

Kilopat
Katılım
7 Ocak 2019
Mesajlar
58
Merhaba arkadaşlar. Bugün anlamadığım bir hata ile karşılaştım. Programdan veri tabanına renk kodlarını şu şekilde kaydediyorum.

kods2.PNG


Gördüğünüz this.BackColor.ToString() komutu renginin ismini alıyor. Sonra form load edilirken rengi veri tabanından çekerek formun rengini yapması gerekiyor onunda resmi şöyle.

kods.PNG


Kırmızı ok ile gösterdiğim kodun yukarsındaki timer1.interval, label5.text veri tabanından bilgileri alırken arkaplan rengi veritabanından almıyor.
Not: Veri tabanına kaydoluyor, şu şekilde o da:

kods3.PNG


Gördüğünüz gibi en baştaki ID diğerleri ise forma geçireceğim bilgiler. 3 ve 1000 değerleri forma geçerken color[Yellow] forma geçmiyor. Yardımcı olur musunuz? Hata vermiyor bu arada.
 
Son düzenleyen: Moderatör:
O şekilde olmaz, RGB değerlerini tutsaydınız daha doğru olurdu.

Okuma kısmında şu kodu kullanmayı deneyin:
C#:
string colorName = oku["arkaplan"].ToString().Substring(7);
this.BackColor = Color.FromName(colorName.Substring(0,colorName.Length-1));
Gördüğüm kadarı ile "Color [Yellow]" ancak "Color[Yellow]" ise Substring'i 6 olarak değiştirin.
 
O şekilde olmaz, RGB değerlerini tutsaydınız daha doğru olurdu.

Okuma kısmında şu kodu kullanmayı deneyin:
C#:
string colorName = oku["arkaplan"].ToString().Substring(7);
this.BackColor = Color.FromName(colorName.Substring(0,colorName.Length-1));
Gördüğüm kadarı ile "Color [Yellow]" ancak "Color[Yellow]" ise Substring'i 6 olarak değiştirin.
Merhaba yöntemini denedim oldu teşekkür ederim de mantığını anlamadım.Anlatırmısın Yani neden substring ile bölüyoruz ?
 
Merhaba yöntemini denedim oldu teşekkür ederim de mantığını anlamadım.Anlatırmısın Yani neden substring ile bölüyoruz ?
Dediğim gibi RGB ile tutarsan daha iyi olur. Ancak bu şekilde de çalışır.
Orada rengi tuttuğun zaman doğrudan adı ile kaydetmiyor görüldüğü üzere. Sen rengi adı ile oluşturmaya çalıştığında onun beklediği "Color [Yellow]" değil "Yellow"'dur. Substring ile "Color [" kısmını ve sondaki "]" kısmını siliyoruz. Geriye "Yellow" kaldığından başarıyla çalışıyor.
 
Uyarı! Bu konu 6 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Technopat Haberler

Yeni konular

Geri
Yukarı