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 ...
Get .NET Windows Forms in a Nutshell now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.