Vladimir Tasev Vladimir Tasev - 29 days ago 4
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

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");
            }
        }
    }