How to get all controls from a form at runtime in C#

March 26, 2013 by Anuraj

.Net .Net 3.0 / 3.5 Miscellaneous Windows Forms

Here is a code snippet which helps you to enumerate all the controls in a form. This snippet can be used for any control, to find the child controls.

public static class Extensions
{
    public static void EnumerateChildren(this Control root)
    {
        foreach (Control control in root.Controls)
        {
            Console.WriteLine("Control [{0}] - Parent [{1}]",
                control.Name, root.Name);
            if (control.Controls != null)
            {
                EnumerateChildren(control);
            }
        }
    }
}

And you can invoke this function like this, to enumerate all the controls of a Form.

this.EnumerateChildren();
Support My Work

If you find my content helpful, consider supporting my work. Your support helps me continue creating valuable resources for the community.

Share this article

Found this useful? Share it with your network!

Copyright © 2025 Anuraj. Blog content licensed under the Creative Commons CC BY 2.5 | Unless otherwise stated or granted, code samples licensed under the MIT license. This is a personal blog. The opinions expressed here represent my own and not those of my employer. Powered by Jekyll. Hosted with ❤ by GitHub