你的位置:首页 > ASP.net教程

[ASP.net教程]C#遍历窗体控件(原文出自http://www.liangshunet.com/ca/201403/286434593.htm)


 一、C#遍历窗体控件

  主要遍历属于窗体(Form)的控件(Controls),假如窗体中有 Panel、Button 和 TextBox 控件,遍历代码如下:

/// <summary>  /// Winform C#遍历窗体控件  /// </summary>  /// <param name="ctrlName">控件名称</param>  public void ForeachFormControls(string ctrlName)  {    foreach (Control ctrl in this.Controls)    {      if (ctrl is Panel)      {        //相关操作代码        ctrl.BackColor = Color.Aquamarine;      }      else if (ctrl is Button)      {        ctrl.ForeColor = Color.RoyalBlue;      }      else if (ctrl is TextBox)      {        ctrl.Text = null;      }      //根据控件名称找某个控件      if(ctrl.Name.Equals(ctrlName))      {        vctrl.Name = string.Empty;      }    }  }

上面的代码,只是根据控件的类型和传递的控件名称进行了一些随意操作,可以根据具体需求把它改为所需操作。

  二、C# Winform遍历控件之遍历 Panel 中的子控件

  遍历方法跟遍历窗体中的控件相同,只不过 this 要改为 Panel 的名称,假如 Panel控件中只包含 Button 和 TextBox 子控件,代码如下:

/// <summary>  /// C#遍历子控件  /// </summary>  /// <param name="ctrlName">控件名称</param>  public void ForeachPanelControls(string ctrlName)  {    foreach (Control ctrl in panel1.Controls)    {      if (ctrl is Button)      {        if (ctrl.Name.Equals(ctrlName))          ctrl.ForeColor = Color.RoyalBlue;        else          ctrl.ForeColor = Color.SkyBlue;      }      else if (ctrl is TextBox)      {        if (ctrl.Name.Equals(ctrlName))          ctrl.Name = "当前值";        else          ctrl.Text = null;      }    }  }