Custom Controls
If your application needs a UI component whose behavior is sufficiently different from any of the built-in controls, it usually makes sense to write a special-purpose control for the job. And although writing a control from scratch is slightly harder work than just reusing existing controls, it is normally more straightforward than trying to bend an unsuitable control to meet your needs.
Custom controls derive directly from Control. This
means that you’re not really starting from scratch
at all—your class will automatically have all the functionality
that is common to all controls. But there are two areas in which you
are on your own: your control’s appearance and the
way it handles input from the user.
With a custom control, you are given a blank slate. It is your responsibility to determine the control’s appearance. In fact, the main reason for creating a custom control is often that none of the built-in ones looks right for the application. So we will now see how your control can draw itself, and we will then look at how to deal with input from the user.
Redrawing
When
your control first becomes visible at runtime, Windows Forms will ask
it to draw itself. It does this by calling your
control’s
OnPaint method. This
method is defined by the Control class, but its
implementation doesn’t draw anything. The built-in
control types supply an implementation of OnPaint for you, but with a custom control, it is your job to override this and draw the control as you see ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access