Sypro Mesaj tarihi: Haziran 30, 2010 Paylaş Mesaj tarihi: Haziran 30, 2010 C# ile abuk bişi yapma denemem var bu aralar.. Şöyle hayal edin; 4 tane checkbox ve 15 tane label var. Form geldiğinde tüm label'lar için Visible = false; geliyor. Checkbox'lar da zaten bu false değerini true yapmak için var. Mesela ilk checkbox için said: if (checkBox1.Checked == true) label1.Visible = true; durumu mevcut, aynı şekilde 2 3 4'üncü checkbox'ların 2 3 4'üncü label'lar ile de sorunu yok. Sorunun başladığı nokta çoklu seçimler. Mesela 1 ve 2. checkbox'ları checked yaptığımda, 1 2 ve 5. label'ların gözükmesi gerek; fakat 1 ve 2 gözüküyor, 5'ten ses seda yok. said: if ((checkBox1.Checked == true) && (checkBox2.Checked == true)) label5.Visible = true; hoş bunu böyle elli tane if/else ile yazmaktan daha kolay bir yol da vardır mutlaka ama aklıma gelmiyor. ilim irfan fikir sahibi kişilerin fikirlerini paylaşmalarını dört gözle bekliyorum artık.. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
fizban Mesaj tarihi: Haziran 30, 2010 Paylaş Mesaj tarihi: Haziran 30, 2010 garip ama gerçek; şöyle dene if (cb1.checked) { if (cb2.checked) { label5.vis = true; } else if (cb3.checked) { label6.vis = true; } label1.vis = true; } yani aynı kontrolü iki kez yaparken salaklaşıyor olabilir, ona göre bir nested if condition koy belki işe yarar. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Sypro Mesaj tarihi: Haziran 30, 2010 Konuyu açan Paylaş Mesaj tarihi: Haziran 30, 2010 Olduramamak konusunda çok ciddi ısrarlarım var anlaşılan. Tekler sorun değil, çoklular delirtti ya resmen. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Tcpip Mesaj tarihi: Haziran 30, 2010 Paylaş Mesaj tarihi: Haziran 30, 2010 void vercoskuyu() { long int deger = 0; if(checkbox1.checked) deger+=1; if(checkbox2.checked) deger+=10; if(checkbox3.checked) deger+=100; if(checkbox4.checked) deger+=1000; if(deger%10 == 1) label1.visible = true; if(deger%100 > 10) label2.visible = true; if(deger%1000 > 100) label3.visible = true; if(deger%10000 > 1000) label4.visible = true; } Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Seele Mesaj tarihi: Temmuz 1, 2010 Paylaş Mesaj tarihi: Temmuz 1, 2010 nested if her zaman kötü bir yazim seklidir yapmayin yaptirtmayin. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
fizban Mesaj tarihi: Temmuz 1, 2010 Paylaş Mesaj tarihi: Temmuz 1, 2010 if (p) blabla if (q) bleble if (r) bloblo if (p && q) hedehodo if (p && r) hodohede if (q && r) birbirbr bunu demektense nested yazmak daha hızlı calısır. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Mirage Mesaj tarihi: Temmuz 2, 2010 Paylaş Mesaj tarihi: Temmuz 2, 2010 Kodu görmeden bir şey diyemicem ama beni rahatsız eden boolean karşılaştırmasını eşittirle yapman oldu. if (checkBox1.Checked == true) yerine if (checkBox1.Checked) yazarsan çok daha okunaklı olur. Tersini kontrol ederken de: if (!checkBox1.Checked) Edik: Sorununla bir alakası yok tabi bu yorumun. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Kojiroh Mesaj tarihi: Temmuz 2, 2010 Paylaş Mesaj tarihi: Temmuz 2, 2010 Tüm checkboxların checkedchanged event'ine aynı metodu koy. Mesela labelyenile(). void labelyenile() { label1.Visible = (checkbox1.Checked && checkbox2.Checked && ...); label2.Visible = (checkbox4.Checked && checkbox10.Checked && ...); ... } Şimdi şu soru var kafamda: Tek bi label'ın visible olması için birden fazla durum olabilri mi? Label 1, checkboxlar 1 ve 2 veya 5 ve 6 işaretliyken görünür olsun, gibi. Eğer böyle bi durum varsa, her label için yuakrda yazığım metodun içindeki and gruplarını or'licaksın. Mesela verdğim örnekte: label1.Visible = (checkbox1.Checked && checkbox2.Checked) || (checkbox5.Checked && checkbox6.Checked); Ha eğer bi label sadece tek bi durumda görünür oluyosa ve diyelim labellar 1, 2 ve 5 yalnızca checkboxlar 3 ve 4 işaretliyken görünür oluyosa şöyle de yapabilirsin: label1.Visible = label2.Visible = label5.Visible = (checkbox3.Checked && checkbox4.Checked); Böylece her label için ayrı ayrı yazmana gerek kalmaz aynı satırı. Ama dediğim gibi ilk sorunun cevabına bağlı bu. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Deacon Mesaj tarihi: Temmuz 3, 2010 Paylaş Mesaj tarihi: Temmuz 3, 2010 Seele said: nested if her zaman kötü bir yazim seklidir yapmayin yaptirtmayin. sebep? Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Öne çıkan mesajlar