Input validation for text boxes in a Form
Another option would be to handle the Validating event:

private void textBox_Validating(object sender, CancelEventArgs e)
{
    TextBox currenttb = (TextBox)sender;
    if(currenttb.Text == "")
        MessageBox.Show(string.Format("Empty field {0 }",currenttb.Name.Substring(3)));
        e.Cancel = true;
    else
    {
        e.Cancel = false;
    }
}


Adding the handler to the textboxes is easily done with a foreach loop in the form constructor:

foreach(TextBox tb in this.Controls.OfType&lt;TextBox&gt;().Where(x =&gt; x.CausesValidation == true))
{
    tb.Validating += textBox_Validating;
}


Now the user can't leave a textbox empty.  The handler returns the focus back to the textbox.  To exclude a textbox from being validated simply set the CausesValidation property to false.