Extracting first name, last name, phone number, and address from a form I have this: 

public void InfoAssignment()
{
    //MessageBox.Show(firstName = firstNameBox.Text);
    firstName = firstNameBox.Text;
    lastName = lastNameBox.Text;
    phoneNumber = phoneBox.Text;
    address = addressBox.Text;

    //Check for text in firstNameBox
    if (!String.IsNullOrWhiteSpace(firstName))
    {
        firstName = firstNameBox.Text;
    }
    else
    {
        MessageBox.Show("Please enter a first name");
        return;
    }

    if (!String.IsNullOrWhiteSpace(lastName))
    {
        lastName = lastNameBox.Text;
    }
    else
    {
        MessageBox.Show("Please enter a last name");
        return;
    }

    if(!String.IsNullOrWhiteSpace(phoneNumber))
    {
        phoneNumber = phoneBox.Text;
    }
    else
    {
        MessageBox.Show("Please enter a phone number");
        return;
    }

    if (!String.IsNullOrWhiteSpace(address))
    {
        address = addressBox.Text;
    }
    else
    {
        MessageBox.Show("Please enter a phone number");
        return;
    }
    //firstName = firstNameBox.Text;
    //lastName = lastNameBox.Text;
}


It does what I need it to do but obviously this is basically repeating the same thing with only minor variations. I'm thinking there has to be a better way of which I'm unaware. Is there?
You could create a method for it!

bool Validate(string val, TextBox textBox, string description)
{
    if (!string.IsNullOrWhiteSpace(val))
    {
        val = textBox.Text;
    }
    else
    {
        MessageBox.Show("Please enter " + description");
        return false;
    }

    return true;
}


Then you could use it like so:

if (!Validate(firstName, firstNameBox, "a first name"))
   return;
if (!Validate(lastName, lastNameBox, "a last name"))
   return;