Ynt: form içindeki 11 adet buttona numara sırasına göre erişmek..

Başlatan forumsad, 04 Ekim 2012, 10:50:01

forumsad

arkadaşlar formlardaki elemanlara belirli şekillerde ulaşma konusunda sıkıntı yaşıyorum

formumda 11 adet button var

button1------button11  şeklinde

bu buttonlara for ile numara sırasına göre nasıl ulaşırım


delphide bu işi çok kolay şekilde yapıyorduk ama c# da bir türlü elemanların adına göre elemanlara ulaşıp değişiklik yapmayı beceremedim

procedure TForm1.Button4Click(Sender: TObject);
var
i:integer;
begin
for i:=1 to 11 do
               begin
               TButton(Form1.FindComponent('Button'+IntToStr(i))).Caption:='btn'+IntToStr(i);
               end;
end;


saygılar

mesaj birleştirme:: 04 Ekim 2012, 10:56:45

şu şekilde bir şey buldum

tek olarak çalışıyor bunu for döngüsü içine adepte edebilirsem olacak

            Button tbx = this.Controls.Find("btn1", true).FirstOrDefault() as Button;
            btn1.Text = "found!";


mesaj birleştirme:: 04 Ekim 2012, 11:11:26

            for (int i = 0; i < 10; i++)
            {
                Button btn = this.Controls.Find("btn" + i.ToString(), true).FirstOrDefault() as Button;
                btn.Text = "b"+i.ToString();
            }


bu şekilde sorun çözüldü umarım birilerinin işine yarar

saygılar

fatih6761

IEnumerable uzantısı FirstOrDefault gerekli değil. İyileştirme amaçlı olarak o kısmı çıkarabilirsiniz...