Delphi中Sender对象的定义

Delphi 中Sender对象的定义! 
 
1.Sender的定义: 
每一个事件处理里面至少都有一个Sender参数。比如: 
procedure TForm1.Button1Click(Sender:TObject); 
begin 
... 
end; 
 
Sender的含义就是代表调用TForm1.Button1Click这个过程的控件. 由于Sender是TObject,所以任何object都可以赋给Sender. 
当你点击BUTTON1时,会产生一个Button1Click事件,系统会把Button1传递给Button1Click过程坐为参数,也就是所说的Sender. 
 
2.Sender的用法: 
 
<1>.由于Sender代表了调用所在过程的控件,那么你就可以直接把它拿来当那个控件用,不过如果要用属性的话,最好写成(Sender as 控件名).控件属性:=... 例如:                                
procedure TForm1.Edit1Click(Sender: TObject); 
begin 
with Sender as TEdit do         //将sender作为TEdit类使用 ,as操作符是类型转换。
begin 
text:=’hello’; 
end; 
end; 
 
<2>.如果在两个事件中处理同样的事情,那么可以利用Sender来省去重写同样的过程。例如: 
 
Procedure TForm1.Button1Click(Sender:TObject); 
begin 
do same sth.....; 
if Sender=Button1 then 
do sth....; 
if Sender=Button2 then 
do other sth....; 
end; 
 
procedure TForm1.Button2Click(Sender:TOBJect); 
begin 
Button1Click(Button2); 
end; 
原文地址:https://www.cnblogs.com/huapox/p/3299830.html