User controls are very useful for creating reusable code. Adding them as separate projects to your solution, and referencing them would have these user controls appearing on your toolbar by default.
However, user controls when placed in the same project in visual studios some times don’t appear on your toolbar, and you have to keep deleting the “obj” files to refresh the cache. Recently had this experience when loading up some code on another workstation. The fix suggested from MSDN, which took a while to find, worked. https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=106059&wa=wsignin1.0
Basically, the solution is to go Tool > Options > Windows Form Designer and ensure that the AutoToolboxPopulate option is set to True.