Birden fazla kontrol nesnesi için if else nasıl kullanılır? (WinForms)

0

Merhaba,

Aşağıda kullandığım kodlardan sonra değeri NULL olan kontrollerin VISIBLE değerini false olarak güncellemek istiyorum.

private void gridControl1_Click(object sender, EventArgs e)
        {
            try
            {
                labelControl14.Text = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, gridView1.Columns[1]).ToString();
                labelControl15.Text = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, gridView1.Columns[2]).ToString();
                labelControl16.Text = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, gridView1.Columns[3]).ToString();
                labelControl17.Text = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, gridView1.Columns[4]).ToString();
                labelControl18.Text = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, gridView1.Columns[5]).ToString();
                labelControl19.Text = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, gridView1.Columns[6]).ToString();
                labelControl20.Text = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, gridView1.Columns[7]).ToString();
                labelControl21.Text = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, gridView1.Columns[8]).ToString();
                labelControl22.Text = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, gridView1.Columns[9]).ToString();
                labelControl23.Text = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, gridView1.Columns[10]).ToString();
                labelControl24.Text = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, gridView1.Columns[11]).ToString();
                labelControl25.Text = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, gridView1.Columns[12]).ToString();
                labelControl26.Text = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, gridView1.Columns[13]).ToString();
            }
            catch { }

}

Ancak aşağıdaki gibi bir if else yöntemi biraz yorucu oluyor. Bunun yerine daha kısa ve/veya daha partik bir yol var mı?

if (labelControl14.Text == null)
{
    labelControl14.Visible = false;
}

else { }

if (labelControl15.Text == null)
{
    labelControl15.Visible = false;
}

else { }

if (labelControl16.Text == null)
{
    labelControl16.Visible = false;
}

else { }

...ve diğer kontroller...

 

furisu furisu (28)
6 yıl önce sordu

    Toplam 1 Cevap


    0

    Form içindeki kontroller arasında döngü ile gezinip label olan kontrolleri kontrol edebilirsin.

     foreach (Label l in this.Controls.OfType<Label>())
                {
                    if (l.Text == null)
                        l.Visible = false;
                }

    İf ile tek tek kontrol etmek yerine bunu dene.

    alattin alattin (17127)
    6 yıl önce cevaplandı

    • Yorumları buraya yazıyoruz @furisu uzmanim.net'e hoş geldin. alattin 6 yıl önce
    • Teşekkürler, hoş bulduk. furisu 6 yıl önce
    üyelik gerektirir

    Cevap yazabilmek için üye girişi yapmalısınız.

    Eğer uzmanim.net üyesiyseniz giriş yapabilirsiniz: üye girişi yap
    uzmanim.net'e üye olmak çok kolaydır: hemen kayıt ol