Компонент Delphi Button це проста командна кнопка. Командна кнопка Delphi Button використовується для реалізації в програмі команд за допомогою обробника події OnClick цього компонента.
Один і той же обробник може обробляти події кількох компонентів TButton (та й не тільки TButton, але і навіть компонентів інших типів). Для визначення того, подія якого саме компонента потрібно обробляти, використовується вбудована змінна Sender типу TObject. позначає об'єкт, що викликав дану подію. Для ілюстрації цієї можливості розглянемо просту процедуру, визначальну натиснуту кнопку.
Створимо оброблювач кнопки Button1. а для Button2 і Button3 в інспектор об'єктів на вкладці Events виберемо подія OnClick. і зі списку виберемо з'явився там обробник Button1Click. Тепер він обробляє натискання всіх трьох кнопок.
procedure TForm1.Button1Click (Sender: TObject);
begin
Form1.Caption: = (Sender as TButton) .Caption;
end;
Конструкція Sender as TButton дозволяє працювати з властивостями об'єкта Sender як з властивостями кнопки. Безпосередньо ж розрізнити кнопку як об'єкт можна звичайним оператором порівняння:
if (Sender = Button1) then
Form1.Caption: = Button1.Caption;
Іноді події ініційовані навіть компонентами різних типів. В такому випадку, перевірити компонент якого типу викликав подія, можна таким чином:
if (Sender is TButton) then
Form1.Caption: = 'Кнопка';