Sender的作用
来源:互联网 发布:手机淘宝等级如何升级 编辑:程序博客网 时间:2024/05/10 14:24
Sender是一个TObject类型的参数,它告诉Delphi哪个控件接收这个事件并调用相应的处理过程。你可以编写一个单一的事件处理句柄,通过Sender参数和IF…THEN…语句或者CASE语句配合,来处理多个构件。发生事件的构件或控件的值已经赋给了Sender参数,该参数的用途之一就在于:可以使用保留字IS来测试Sender,以便找到调用这个事件处理句柄的构件或控件的类型。例如,将表单中编辑框和标签的Click事件的处理句柄都指向表单的xxx过程,编辑框和标签对Click事件有不同的反应:
procedure TForm1xxx(Sender:TObject);
begin
if(sender is Tedit) then
showmessage(′this is a editbox′);
if(sender is Tlabel) then
showmessage(′this is a label′);
end;
Sender参数的第二个用途是结合AS操作符进行类型转换,将若干个派生于某一父类的子类强制转换成该父类。例如表单中有一个TEdit类控件和一个TMemo控件,它们实际上都派生于TcustomEdit类,如果你要为二者的某一事件提供同样处理,可以将二者事件句柄都指向自定义的过程yyy:
Procedure TForm1.yyy(Sender:TObject);
begin
(sender as TcustomEdit).text:=′This is some demo text′;
end;
在过程中,AS操作符将TEdit类和TMemo类均强制转换成TcustomEdit类,再对TcustomEdit类的属性赋值。注意这种转换必须符合Delphi中类的层次关系。
使用Sender参数可以通过单一过程段处理多类控件,真正体现了Delphi面向对象的重用性。
- Sender的作用
- Click事件sender的一个简单作用
- sender,e 的意义
- sender的理解
- Sender的认识
- 关于IBAction的sender
- zabbix sender的使用
- c#中sender关键字有何作用
- sender
- Sender
- 呼叫event的sender討論
- sender对象的使用方法笔记
- sender对象的使用方法笔记
- Self和Sender的区别
- Delphi-Sender对象的定义
- C#中sender的用法
- UDT的Sender和Receiver
- XMLHTTPRequest 的封装--Sender
- ScheduledJob的实现
- 贪心算法在竞赛中的应用
- C#中的泛型,与java。C++中泛型的区别
- 在Razor中如何引入命名空间?("import namespace in razor view")
- 远程服务器返回错误: (401) 未经授权
- Sender的作用
- 简述JDK里的23个经典设计模式
- J2EE 核心模式(Core J2EE Patterns)学习随心理解、随手记录(七)
- Delphi 中 Sender 对象的定义!
- ubuntu10.10 安装mysql5.1.34
- ORM中数据模型生成利器T4 Templates
- C# 导出Excel "正在中止线程" 错误
- 为什么我的积分变成了负数
- C/C++连接查询MYSQL