Well you would simply make the FormBorderStyle to None, and then design the window completely yourself, except, don't draw the buttons and dropdowns. Because for the buttons, when you mouseover them, they change hue or shade, and if you included those in the main background design, you would have to change the whole background image when you moused over something.
Instead, draw all the buttons seperately. You would also want to handle the MouseMove event and MouseClick events. When you move your mouse, you want to check that it is within the bounds of a button. For example, let's say the Make Data CD button is at 300x, 300y of the form and it 50 pixels thick and 50 pixels high. Only use the below psuedocode if you drew the buttons onto the background. Otherwise, create buttons and set there image property to the custon button face, and use their Events.
Code:
If MousePosition.X >= 300 And MousePosition.X <= 350
If MousePosition.Y >= 300 And MousePosition.Y <= 350
'You are within the button's bounds, now test for click event/hover event.
End If
End If
As for the transparency in the corners, you would just make a weird color in the corners that you would never use in your application, and then set the transparency key of your form to that color.
As for tooltips, use the tooltips control and test for MousePosition again and only show when you are over
The "buttons" on that form would just be PictureBoxes. Then you just handle the MouseEnter, MouseDown, MouseUp and MouseLeave events to change the Image to give the rollover and press effects.
I'm going to give you my opinion here, which you can choose to ignore if you want. Many people ask how to create fancy forms. If you have no idea where to start then that suggests fairly strongly to me that you are quite inexperienced. I would suggest creating a car that runs well before you worry about giving it a fancy paint job. Fancy interfaces may look good but an application that works should be what you aim for first.
@jmcilhinney : i see, but any way do you think interfaces alway are importance, don't you? With fancy interface you can make your clients stay longer before monitor (without boring).
And about the problem, I used to use a tool, ActiveSkin for VB6, it's very good to design interfaces, really nice. I hope in C# we had some Tools like that. But...
If you're app doesn't work properly or do something useful then it will get uninstalled much quicker than if it doesn't have a fancy interface. The standard controls provided with the .NET Framework will create an interface that is usable and attractive enough if it's well designed. A nice custom interface can make an application more interesting, but if that interface doesn't provide useful functionality that works then what's the point?
You can do everything yourself but there are skinning tools for the .NET platform. If I was looking for one I'd Google skinning ".net".
I have provided advice. Did you even bother trying it? If you had then you'd have already found at least one link to a component that does what you want. I thought a bit harder and changed the search to skinning forms ".net" and found even more.