Çözüldü Birden fazla butonu sorgulama

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

KöroğluK67

Zeptopat
Katılım
25 Temmuz 2023
Mesajlar
8
Daha fazla  
Cinsiyet
Erkek
Diyelim ki formuma 10 buton ekledim ve hepsinin rengini değiştirmek istiyorum ve butonların ismini de btn1, btn2, btn3.. Olarak belirledim. Bu butonları teker teker sorgulamak zorunda mıyım? Bunun daha kolay bir yolu yok mu? Atıyorum btn(degisken).BackColor = Color. Red; degisken++; gibi bir şey yapamaz mıyım?
 
Çözüm
Bir controldeki her bir öğeye foreach ile erişebilirsin, örnek kod veriyorum.
foreach (Control item in this.Controls) { if (item is Button btn) { btn.BackColor = Color. Red; } }
Arada kaynamış olabilir diye yazıyorum. Bu kod işinizi görür.

Bu kod formdaki butonları bulmaya mı yarıyor? Kodu denediğimde formdaki butonlar kırmızı oluyor. Ama GroupBox'daki butonları görmüyor. Biraz kurcalamak istedim ama yine bir yol bulamadım. Bu kodlar aklımda fikir oluşmasına yardımcı oldu teşekkür ederim. Yine aynı yoldan giderek butonun ismini sorgulayabilir miyim? Ya da aslında en başından beri aklımda olan bir şeyi soracağım buton adını değişkene atamaz mıyım? Yani
string btn = "btnOda";
Btn. Text = "blabla";
Cevaplarınız için teşekkür ederim salak saçma bir olay için zaman harcıyorsunuz.
 
Arada kaynamış olabilir diye yazıyorum. Bu kod işinizi görür.
Şimdi biraz daha kurcalayınca çözdüm işi. Butonları bulup veritabanından sorguladım ve rengini değiştirmeyi başardım. Çok teşekkür ederim beni 800 satır kod çöplüğünden kurtardınız. 👍

Bir Control'deki her bir öğeye foreach ile erişebilirsin, örnek kod veriyorum.
foreach (Control item in this.Controls) { if (item is Button btn) { btn.BackColor = Color. Red; } }

Bir sorum daha olacak Groupbox'daki butonları nasıl ulaşacağım?
 
Son düzenleme:
Şimdi biraz daha kurcalayınca çözdüm işi. Butonları bulup veritabanından sorguladım ve rengini değiştirmeyi başardım. Çok teşekkür ederim beni 800 satır kod çöplüğünden kurtardınız. 👍



Bir sorum daha olacak Groupbox'daki butonları nasıl ulaşacağım?
Kod içerisinde "this.Controls" yazan kısmı "Groupboxınınadı.Controls" ile değiştir. Groupboxınınadı kısmına kendi groupboxının adını yazman gerek tabi.
 

Yeni konular

Geri
Yukarı