Vladimir Tasev Vladimir Tasev - 1 year ago 63
C# Question

Checking if all textboxes in a panel a filled

I currently work on a Windows Forms application and I have 2 Panels with textboxes in them and I need to check the panel's textboxes separately if they are not empty, so it is not an option to loop through all the controls in the form.

foreach (Control child in this.Controls)
{
TextBox textBox = child as TextBox;
if (textBox != null)
{
if (!string.IsNullOrWhiteSpace(textBox.Text))
{
MessageBox.Show("Text box can't be empty");
}
}
}

Answer Source

Perhaps something like this:

    foreach(Panel pnl in Controls.OfType<Panel>())
    {
        foreach(TextBox tb in pnl.Controls.OfType<TextBox>())
        {
            if(string.IsNullOrEmpty(tb.Text.Trim()))
            {
                MessageBox.Show("Text box can't be empty");
            }
        }
    }