.NET 2.0 Windows Forms already has that, and it's simply a MaskedTextBox.
But in order to provide maximum input validity such as email address, you can add regular expression (Regex) validation when the text in the MaskedTextBox is changed.
Update: To provide more customization such as multiple email address, you can also use MaskedTextBox combined with RichTextBox, since there's no native Windows Forms implementation of the exact functionality of Outlook email address input control.
I also have done this, by capturing user's current cursor when the RichTextBox control got focus, and then directly masking the input using additional MaskedTextBox generated on the fly at runtime, displayed on top of the RichTextBox. Therefore there can be multiple MaskedTextBoxes when the email addresses in entered more than one.
I'm not saying that this is an easy task, but this is doable.
See this: