C# Değişken Sorunu
-
Merhaba,
C# ta şöyle bir sorunum var.
Formumda 10 tane layer var. Hepsinin içeriğini x yapmak istiyorum.
Layer isimleri layer0,layer1 ... olarak gidiyor.
for(int y = 0; y < 10; y++){
("label" + (y)).Text = "x";
}gibi birşey yapmak isiyorum. Kısacası string bir ifadeyi değişken ismi gibi çalışmasını istiyorum. Yani döngü ilk döndüğünde label0.Text="x" yapmalı. Bu soruna bu şekilde yada alternatif çözümü olan paylaşırsa sevinirim.
Teşekkürler.
-
İstediğin şey form üzerine eklediğin öğelerin adını otomatik değiştirmekmi?
Name = string.Concat("pictureBox", y.ToString())
şeklinde yapabiliyosun bunu,string.Concat metodunu araştır. Geçen dönem c# ile puzzle yapmıştım,o projede pictureboxlar değişken değeri kadar sayıda otomatik oluşturuluyodu,onları isimlendirmeyide bu sayede yapıyodum. O projeme bakabilirsin foruma koymuştum.
-
int i = 0;
foreach (Label lbl in Controls.OfType<Label>().ToArray())
{lbl.Text = "x";
i++;
}
Sinusx sağolsun, ben de ondan öğrendim
-
ADSIZ bunu yazdı:
-----------------------------int i = 0;
foreach (Label lbl in Controls.OfTypelbl.Text = "x";
i++;
}
Sinusx sağolsun, ben de ondan öğrendim
-----------------------------ikinci bi yol olarakda
for(int i =1;i<=10;i++) this.controls["label"+i].text = "X";
-
Oldu, teşekkür ediyorum.