GetType ve typeof ile Kontrolleri Seçmek

Kodla Büyü

togius

Süper Üye
Süper Üye
Mesajlar
1,728
Sayfanızda çok fazla kontrol olduğunu düşünün veya atıyorum çok fazla TextBox tüm bunlar üzerinde tek seferde işlem yapmak istiyoruz. Textboxların içeriği boşalsın. Dropdownlistlerinde ilk seçeneği seçili olsun.

Kod:
public static void IlkAyar(Control parent, TextBox tb)
{
 foreach (Control c in parent.Controls) {
   if (c.GetType() == typeof(TextBox)) {
     ((TextBox)(c)).Text = string.Empty;
     tb.Focus();
   } else if (c.GetType == typeof(DropDownList)) {
     ((DropDownList)(c)).SelectedIndex = 0;
   }
   if (c.HasControls) {
     IlkAyar(c, tb);
   }
 }
}


if (c.GetType() == typeof(TextBox)) işin can alıcı noktası bu. c elemanının türü textbox türündeyse veya dropdownlist türündeyse gibi.
 
Arkadaş güzel açıklamış, ama biraz eksik tamamlanmış halini yolluyorum;

public static void IlkAyar(Control parent, TextBox tb)
{
foreach (Control c in parent.Controls)
{
if (c.GetType() == typeof(TextBox))
{
((TextBox)(c)).Text = string.Empty;
tb.Focus();
}
else if (c.GetType() == typeof(DropDownList))
{
((DropDownList)(c)).SelectedIndex = 0;
}
if (c.HasControls())
{
IlkAyar(c, tb);
}
}
}


bu kısımdan sonra kullanımı şu şekilde olacaktır;


IlkAyar(Page , TextBox1);
 
Geri
Üst