Come prima cosa aggiungiamo al nostro progetto una nuova classe che chiameremo “NumericTextBox”  facendo in modo che la stessa  erediti dalla classe TextBox in questo modo :

namespace ControlliPersonalizzati
{
    public class NumericTextBox : TextBox{ }
}

Ora aggiungiamo una proprietà alla classe di tipo bool che ci servirà ad indicare se nella TextBox sono permessi o meno numeri negativi :

public bool AccettaNegativi { get; set; }

A questo punto dobbiamo intercettare l’evento KeyPress del textbox, e lo facciamo nel costruttore della nostra classe in questo modo :

public NumericTextBox()
{
   this.KeyPress += new KeyPressEventHandler(NumericTextBox_KeyPress);
}

(continua…)