C# Control: Windows FormsUse the Control type in Windows Forms. Cast more derived objects to the Control type.
Control. Windows Forms is built upon an object-oriented type hierarchy. This means that items such as your TextBox and Button are derived from a base class Control. You can act upon these items using the base Control class.
To start, you can create a new Windows Forms application and add several TextBox and Button controls to the enclosing Form by dragging from the Toolbox. Next, add the Form1_Load event by double-clicking on the window itself.
Foreach: This loop acts upon the base.Controls collection. You are accessing each TextBox and Button (among others) in this loop.Foreach
However: The TextBox and Button instances are being accessed through a reference to their base class.
Casts: You can use the "is" and "as" casts to determine the derived type of the Control reference.IsAs
Also: You can even mutate the properties of the Control instances by assigning their properties.
C# program that uses Control references
public partial class Form1 : Form
private void Form1_Load(object sender, EventArgs e)
// Loop through each Control in ControlCollection.
foreach (Control control in base.Controls)
if (control is TextBox)
control.Text = "box";
else if (control is Button)
control.Text = "push";
You can use the LINQ extensions to the C# language to use the Controls collection. The OfType extension can make searching for all Control instances of a certain derived type easier.OfTypeQuery Windows Forms Controls
Summary. The Control type—and the base.Controls collection on each Form instance—lets you access all the items such as TextBox, Button and more in a unified way. This can improve the clarity of your C# code.
© 2007-2020 Sam Allen. Every person is special and unique. Send bug reports to email@example.com.