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