一、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;
}
}
}