Personally I use the treeView control supplied by
www.obout.com The control is very versitle and I use it on serveral intranet applications and the entire menu hiarchy is created dynamically from a database.
If you want to create your own, that will require quite a bit of time and a knowledge of JavaScript. (To prevent the need from a postback occuring everytime you click on a menu item)
"The one language all programmers understand is profanity."