C# - 한꺼번에 여러 Control 초기화


방법 1

FieldInfo[] xx = this.GetType().GetFields(BindingFlags.Instance | BindingFlags.NonPublic);

foreach (FieldInfo yy in xx)
{
if ( yy.GetValue(this) is Button)
textBox1.Text += yy.Name + "rn";
}

방법 2

private void getControls(Control.ControlCollection Ocontrol, ref ArrayList Space)
{
    for (int i = 0; i < Ocontrol.Count; i++)
    {
        Space.Add(Ocontrol[i]);
        if (Ocontrol[i].Controls.Count > 0) getControls(Ocontrol[i].Controls, ref Space);
    }
}

ArrayList AL = new ArrayList();
getControls(this.Controls , ref AL);

for (int i = 0; i < AL.Count; i++)
{
    if (AL[i] is TextBox)
        ((Control)AL[i]).Text = "초기화";
        
}

방법 3

this.Controls["textBox1"].Text = "ddd";
this.Controls[0].Text = "ddd";
....

 

광고

2개의 댓글

댓글 남기기