Custom controls are compiled code (DLL) easier to use, difficult to create and can be place in toolbox. You can drag and drop controls, Attributes of this control are visually set at design time. A custom control can be used in multiple applications as shared DLLS. Anyone can copy DLL of custom control in bin directory and add reference and use them. Normally custom controls are designed to provide custom functionality independent of consuming application.
User controls are similar to those of asp include files easy to create, cannot be placed into the toolbox and dragged dropped from it. A User controls can share single application files. Normally designed to provide functionality that is reusable for the particular application.
The following are the some key notes over User Control versus Custom Control:
1. Basically User controls are designed from single application scenarios and Custom controls are designed from multiple applications.
2. We can create User controls with the help of designer page where there is no designer is available from Custom control.
3. If we use user control in more than one application, it leads to redundancy and maintenance problems. Custom control does not have any redundancy and maintenance problems in this case.
4. We can deploy Custom controls in GAC (Global assembly cache) or application’s bin directory.