Check out this wicked Menu control. It won Codeproject's Februarie 2005 prize. It has been designed to work most browsers. In fact, I can't think of any right now that it doesn't support. Personally I prefer to stay away from user controls (I prefer XSL where possible), but I have to say that this is a pretty neat and usable piece of code.
I've just implemeted another Design Pattern. This time is was the Strategy Pattern. A lot of people I talk to say that they "...don't get design patterns". In my opinion Design Patterns aren't difficult once you understand what they're for. The most difficult thing about Design Patterns is to figure out when to use which pattern. The fact that there are 23 "mainstream" patterns don't make things any easier either!
I'm now a huge fan of designing code using patterns. Initially I actually struggled to see their value. This was until I had a discussion/argument with a colleague of mine. He was convinced they're a waste of time. It was only while I tried explaining why the gurus were for them that the penny dropped. I think the key is to remember that they don't replace OO concepts at all. They are just patterns of how to use OO. The colleague I was arguing with subsequently converted as well.
The best book on Design Patterns that I've found is Elizabeth & Eric Freeman's Head First Design Patterns. It is based on Java, but any C# developer will easily follow the code. Design Patterns are much more about OO than about any particular language anyway.
A good website is DoFactory. They have some half decent real life examples.