As lazyberezovsky stated, use a masked textbox, but set the PromptChar to whatever you want. Something along the lines of:
//In your form_load
//Based on your code above, assuming textBox3 is a MaskedTextbox
textBox3.KeyUp += CheckEvent()
textBox3.Mask = "000000000000";
textBox3.PromptChar = 'x'; //set this to a space or whatever you want ' ' for blank!
//check AFTER every key press
private void CheckEvent(object Sender, KeyEventArgs e)
{
if(textBox3.Text.Count() < 12)
{
return;
}
//change the textboxMask when all chars present
maskedTextBox1.Mask = "0:000.000.000-00";
}