In that case the easiest is to add a picturebox to form and set Dock=Fill and show a manipulated screenshot of form. Take a screenshot of ClientRectangle of form at convenience and draw semi-tranparent over this for dimming effect. I found the Leave and MouseLeave events convenient for this. When form is deactivated you add the picturebox and bring it to front, when activated you remove the picturebox again.
Other alternative is to attach/detach a paint event handler to all controls on form and in that handler draw semi-transparent shader over. Problem is some controls don't support this owner drawing.
Attached is .Net 2.0 project showing both techniques. You have to get the 2005 Express to have a look, because I'm not up to converting it to older VB.Net (2002 is also not available), or just browse the code in Notepad.. The Picturebox-way is absolutely best, but since you don't have Graphics.CopyFromScreen method new in .Net 2.0 so you have to find some way around this to get screenshot.