2011-08-18 53 views

回答

1

你可以尝试在这些线路上的东西,如果所有的文本框在页面上直接

foreach(Control c in Page.Controls) 
{ 
    if (c is TextBox) 
    { 
     //get the text 
    } 
} 

这会不会对孩子的控制工作,为您将不得不递归迭代

+0

我会改变,所以你使用文本框TB = C为文本框,然后检查是否TB!= NULL,可以使确定它是一个TextBox。否则,您必须将控件取消两次。 –

1

是的,你可以把你的控制面板,然后迭代和获得价值。例如

foreach (Control ctrl in Panel1.Controls) 
    { 
     if (ctrl.GetType().Name == "TextBox") 
     { 
      if (((TextBox)ctrl).Text != string.Empty) 
      { 
       // do stuff here 
      } 
     } 
    } 
11
public IEnumerable<string> AllTextsFromTextboxes() 
{ 
    foreach (var control in Page.Controls.OfType<TextBox>()) 
    { 
     yield return control.Text;  
    } 
} 
1
private void FindSelecedControl(Control control) 
{ 
    if (control is TextBox) 
    { 
     TextBox txt = (TextBox)control; 
     txt.Enabled = false; 
    } 
    else 
    { 
     for (int i = 0; i < control.Controls.Count; i++) 
     { 
      FindSelecedControl(control.Controls[i]); 
     } 
    } 
} 

foreach (Control control1 in this.Form.Controls) 
{ 
    FindSelecedControl(control1); 
} 
相关问题