4

As stated in the question, is there any difference in the meaning of the two as applied to the Controls of .NET. Or are they alias of one another?

asked Aug 19, 2011 at 9:47

4 Answers 4

7

A user control is a composition of existing controls while a custom control is a control derived from one base control. This might be better in stackoverflow btw.

answered Aug 19, 2011 at 9:54
3
  • 1
    Thanks. I was actually caring for definition and I feel this isn't any direct Programming/Software question. Commented Aug 19, 2011 at 10:12
  • This is so funny. If you would've posted on StackOverflow it would've been tagged as not programming related. Damn if you do, damn if you don't. Commented Nov 17, 2015 at 20:21
  • @ShamimHafiz - its a specific question about a feature in a specific programming technology, so it definitely would fit in SO. Choosing between SO and SE. For example, its quite similar to this SO question. If you had asked for general definition of some SE terminology, not specifying .Net/WinForms, then it would likely be better in SE, as it would not have an objectively verifiable answer. Commented Mar 17, 2019 at 15:48
2

User control: Any control inheriting from UserControl class; These types of controls have a markup associated with them and can have code-behind based on the type of project you have (whether your project is a website or a web application). These controls are not good for re-usability across projects. They are very good candidates to be used as Views in MVC (Model-View-Controller).

Custom control: Any control inheriting from Control, or WebControl or CompositeControl or DataBoundControl or some other base classes in .NET. These controls don't have associated markup with them. They are pretty good for being encapsulated inside a DLL and being reused across multiple projects. Custom controls usually need more understanding of how web works and you usually overwrite CreateChildren or Render method to determine the output of the control.

answered Aug 19, 2011 at 10:36
1

User Control These are the existing controls of the framework and are used in conjunction with other controls to facilitate certain actions like Login Control

Custom Control In this case you inherit from the available control and add features which are customized for that control and your needs. something like a datepicker Column in the DataGridView

answered Aug 19, 2011 at 9:56
2
  • So simply put, without working in Microsoft, I wont be able to create any Uswer Control, but only to use them, but can create Custom Controls, right? Commented Aug 19, 2011 at 10:13
  • @ShamimHafiz - No, you can create User Control just as easily as Custom Control; this answer is wrong in its definition of User Control. Commented Mar 17, 2019 at 15:37
1

I don't know if there is a useful distinction between them in the winforms world, but in asp.net (web forms) this is the distinction:

A usercontrol can have declarative markup in a XXXX.ascx file whereas logic is placed in the corresponding XXXX.ascx.cs file. Whenever you want to use the usercontrol you must declare which ascx-file you want to use.

A Custom Control can't have declarative markup, but can be used by just specifying the namespace (for example globally in web.config)

or more succinctly: a usercontrol is mucht easier to write but slightly harder to use, a custom control is (potentially) much harder to write but slightly easier to use.

All the builtin controls shipped from MS are custom controls which makes them easier to use (you don't have to specify an ascx-file to use an asp:Label for instance)

Generally: if you are going to make a control which consists of many sub-controls you would want to go with usercontrol, but if you are extending a standard control with some new logic you'd want to go with custom control

answered Aug 19, 2011 at 11:51

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.