After reading Nikita's comment, I managed to find a Microsoft support page for creating a custom designer for controls.
Here's a quote if you're interested in how development-time support works.
However, development-time support for components in the .NET Framework is not solely determined by a development tool such as Microsoft Visual Studio .NET. Rather, the development environment supports extending and defining development-time behavior by class, such as designers, who provide support for component development time. Support for extensible and custom development mode behavior is an integrated part of the .NET Framework. Tools such as Visual Studio .NET also provide a number of development-time services that designers can use.
This is a web page if you want to continue reading and viewing samples from Microsoft
Improved development time support
Everything seems complicated when you are just starting to learn it, this is a sample working code for UserControl with a PictureBox and an inscription on it. Both controls can be edited at design time, i.e. resize and move, as well as open all your events and properties if you click on them.
You will need to add a link to System.Design, which can only be referenced if you have not targeted ".Net client profile". You can change your target profile in the "Accessories / Applied / TargetFramework" section.
Add the usercontrol project to the project and add a class to handle its constructor. Double-click the usercontrol element, and then add a shortcut and a window with an image on the toolbar.
Then open the class you create to be its designer. Add this ...
using System.Windows.Forms; using System.Windows.Forms.Design; public override void Initialize(IComponent component) { base.Initialize(component); if (this.Control is MyUserControl)
source share