Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

Değişken ismi ile Buton text değiştirme

Konu, 'C#' kısmında erline tarafından paylaşıldı.

  1. erline

    erline Üye

    Kayıt:
    5 Mayıs 2009
    Mesajlar:
    29
    Beğenilen Mesajlar:
    0
    Meslek:
    Programcı
    Şehir:
    Ankara
    Merhaba

    String butonismi="button1 ";

    Yapmak İstediğim button1 diye bir butonum var bunun text değerini değiştirmek istiyorum ama yukardaki değişkeni kullanarak. yani ;

    butonismi.text="Test"; bunun gibi bunu nasıl yapabilirim.
     
  2. Furkan Onka Uğur

    Furkan Onka Uğur Moderatör Yetkili Kişi

    Kayıt:
    12 Eylül 2008
    Mesajlar:
    3,707
    Beğenilen Mesajlar:
    47
    Şehir:
    Ankara
    Şöyle genel bir metod yazılabilir:

    Kod:
    public static void ChangeTextByName(Form frm, string objectName, string newText)
    {
        var controls = frm.Controls.Find(objectName, true);
        foreach (var control in controls)
        {
            control.Text = newText;
        }
    }
    
    İlk parametre frm, kontrolü aramak istediğiniz form'un referansı,
    ikinci parametre, kontrolün adı,
    üçüncü parametre ise yeni Text değeri. Kullanım şöyle:
    Kod:
    private void button2_Click(object sender, EventArgs e)
    {
        var btn1 = "Button1";
        ChangeTextByName(this, btn1, "test");
    }
    
    Nasıl çalışıyor?
    Hedef formun kontrolleri arasından ismi objectName olanlar bulunuyor ve Control tipinde bir dizi olarak geri döndürülüyor. Bu dizideki tüm elemanların Text özelliğini de newText değişkenine eşitliyoruz.
     
  3. erline

    erline Üye

    Kayıt:
    5 Mayıs 2009
    Mesajlar:
    29
    Beğenilen Mesajlar:
    0
    Meslek:
    Programcı
    Şehir:
    Ankara
    Teşekkürler