Just a little remark here.
When you have but a few error messages this is still a feasable system. But don't annoy a user with perhaps dozens of error messages. In the end it would become unmaintainable. Suppose you write the same sofware for the arab, russian and chinese market, who is going to translate and maintain all those messages?
Perhaps take a look at the ErrorProvider class or have a look at this humble example of yet another way of doing it: http://www.daniweb.com/code/snippet1094.html