One generic way for all controls is to get the difference between the ClientRectangle's width and the Control.Bounds' width. That should give the border width (and in general the non-client area width). Use the same approach for height.
Contributed from George Shepherd's Windows Forms FAQ