Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win


How to Add a panel subClass to designer

Posted on 2011-09-12
Medium Priority
Last Modified: 2012-05-12
Hello Experts.

I want to create a custom panel control and use it in the designer.

so my custom panel looks like this
Public Class pnlAttribs
    Inherits System.Windows.Forms.Panel

    '' custom properties and methods go here

end Class

Open in new window

but i cannot locate it in the choose toolbox items dialog (even after building) to add it to my toolbox and get it into the designer, i assume it is not producing the .dll that VS is looking for.  (modification to the declarations in the designer files makes visual studio very angry)

I do not know if i need to inherit a usercontrol object instead of panel but i would like to have all the features of the panel available to the subclass.

I suppose i could create a user control that contains a panel but that seems to be an unnecessary layer  i.e.
Public Class pnlAttribs
 inherits UserControl

 friend withEvents myPanel = new panel

  '' custom properties and methods go here

end class

Open in new window

if someone could tell me how to get an inheritec panel into the toolbox i would be very gratefull


ps. i am using
Microsoft Visual Studio 2008
Version 9.0.21022.8 RTM
Microsoft .NET Framework
Version 3.5 SP1

Installed Edition: Standard

Microsoft Visual Basic 2008   91851-136-7108014-60754
Microsoft Visual Basic 2008
Question by:apuma
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
  • 2
LVL 40

Accepted Solution

Jacques Bourgeois (James Burger) earned 2000 total points
ID: 36525650
A UserControl is useful to build a control out of a group of other controls, not to build a standalone control. Inheriting from Panel is the way to go.

If your Panel class is defined in the application itself, you will see it automatically at the top of the ToolBox.

If it is in a dll, then its appearance in the Toolbox depends on 2 things. The second one is probably the one that interests you, but so that you get the whole thing about the concept...

If your application references the compiled dll, the way it references other dlls, you need to manually add your control to the Toolbox, through a right click... Choose items... Browse to your dll. This is usually not a very good way to work for your own controls, because of versioning problems that forces you to refresh this thing regularly if you want to see changes made to your dll.

What follows is good for testing purposes or when you work alone. It is usually not a good suggestion if you work with a team.

For your own controls, it is better to add your dll in each solution where you want to use it, along with the application. Instead of making the reference through the .NET tab of the reference window, do it through the Project tab. This will make a reference to the source code, so any change you make to the source code of the control will automatically be visible in the application.

And you will gain something you want. Because it is part of the solution, it will automatically appear at the top of the Toolbox.

Author Comment

ID: 36525709
Thank you JamesBurger

the Panel class is defined within the project  (project .. add class.. then mark the class as inheriting panel)  so the vb file created is sitting in my project explorer, however the panel is not sitting in my designer toolbox (under $projectName Components)

I have been tinkering and created a user control as well and that is not showing in the toolbox either.  (there are errors currently in the application that stops it from running, but i assume the error free files such as the custom control and inherited panel would build and become available [as they are needed to fix the errors])

I want to avoid creating the control outside of this project, as it is only used in this project  (also i am the only developer working on the project)
LVL 83

Expert Comment

ID: 36526177
Usually when you have custom controls in your project, these controls appear automatically at the top of toolbox when you build the project. Build the project and then show us a screenshot of the toolbox.
Microsoft Certification Exam 74-409

Veeam® is happy to provide the Microsoft community with a study guide prepared by MVP and MCT, Orin Thomas. This guide will take you through each of the exam objectives, helping you to prepare for and pass the examination.


Author Comment

ID: 36526235
I think the build is failing to create the controls because there are other errors.

I will clean the other errors and try again
LVL 83

Expert Comment

ID: 36526246
Good idea :-)
LVL 40
ID: 36526456
The Toolbox always reference compiled assembly, not your source code. Until the application compile, you won't see the controls in the Toolbox.

Author Comment

ID: 36712402
After the long process of getting the application building properly i now see the control in the toolbox list as JamesBurger originally stated.  I had to do a bit of fiddling with serialization in order for the custom properties to show in the designer.


Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

It’s quite interesting for me as I worked with Excel using vb.net for some time. Here are some topics which I know want to share with others whom this might help. First of all if you are working with Excel then you need to Download the Following …
The ECB site provides FX rates for major currencies since its inception in 1999 in the form of an XML feed. The files have the following format (reducted for brevity) (CODE) There are three files available HERE (http://www.ecb.europa.eu/stats/exch…
In response to a need for security and privacy, and to continue fostering an environment members can turn to for support, solutions, and education, Experts Exchange has created anonymous question capabilities. This new feature is available to our Pr…
Please read the paragraph below before following the instructions in the video — there are important caveats in the paragraph that I did not mention in the video. If your PaperPort 12 or PaperPort 14 is failing to start, or crashing, or hanging, …

610 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question