Klasa (kontrolka) ma dziedziczyć z TextBox i umożliwiać obsługę zdarzenia polegającego na próbie wpisania w okienko edycji niedozwolonego słowa .
public class PurytanskiTextBox : TextBox { //lista zakazanych słówek string[] zakazane = new string[] { "ala", "ma", "kota" }; //nowe zdarzenie realizujące rozszerzenie funkcjonalności zwykłego TextBox'a public event EventHandler JestZakazaneSlowo; //Konstruktor z przypisaniem obsługi odziedziczonego zdarzenia TextChanged public PurytanskiTextBox() { this.TextChanged += PurytanskiTextBox_TextChanged; } // wewnętrzna obsługa zdarzenia TextChanged, w ramach której uruchamiany jest // o ile istnieje EventHandler nowego zdarzenia JestZakazaneSlowo void PurytanskiTextBox_TextChanged(object sender, EventArgs e) { foreach (string s in zakazane) if ((sender as TextBox).Text.Contains(s)) { if (JestZakazaneSlowo != null) { JestZakazaneSlowo(sender, e); break; } } } }