在一个FORM中有两个TEXTBOX和一个GROUPBOX,GROUPBOX中有若个个TEXTBOX,问题是:如何遍历FORM中的所有TEXTBOX(包括GROUPBOX中的)!!我用以下代码的话只能遍历到GROUPBOX中的TEXTBOX,外面的就不行foreach(Control c in this.Controls){
if(c is TEXTBOX){
c.test="";
}
}
如果是以下代码则相反,里面的能够遍历但外面的就不行foreach(Control c in groupbox.Controls){
if(c is TEXTBOX){
c.test="";
}
}请问该如何写代码啊!!
if(c is TEXTBOX){
c.test="";
}
}
如果是以下代码则相反,里面的能够遍历但外面的就不行foreach(Control c in groupbox.Controls){
if(c is TEXTBOX){
c.test="";
}
}请问该如何写代码啊!!
{
foreach(Control _Control in p_Control.Controls)
{
p_Controls.Add(_Control);
if (_Control.Controls.Count != 0)
{
GetAllControl(_Control, p_Controls);
}
}
}没测试不知道对不对
foreach(Control c in this.Controls){
if(c is TEXTBOX){
c.test="";
}
}//这个foreach只能找到所有page底下的子控件。如果你想找到所有的控件可以考虑下面的代码 private List<Control> list = new List<Control>();
public void method()
{
foreach (Control temp in this.Controls)
{
list.Add(temp);
myFindControl(temp);
}
} public void myFindControl(Control myControl)
{
if (myControl.Controls.Count > 0)
{
foreach (Control temp in myControl.Controls)
{
list.Add(temp);
myFindControl(temp);
}
}
}
foreach(Control c in this.Controls){
if(c is ContainerControl){
Method(c);
}
if(c is TEXTBOX){
c.test="";
}
}
}
private void FindControl(Control control)
{
foreach(Control c in control.Controls)
{
if(c is TEXTBOX){
c.test="************";
}
else
{
FindControl(c);
}
}
}
调用:
FindControl(this);