Delphi 中 Sender 对象的定义!
2011-02-20 12:50
363 查看
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;
每一个事件处理里面至少都有一个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;
相关文章推荐
- Delphi-Sender对象的定义
- Delphi中Sender对象的定义
- Delphi-Sender对象的定义
- Delphi中Sender对象的定义
- 需要这样一个记录本-9 Delphi使用TADOQuery时提示:不正常地定义参数对象。提供了一不致或不完整的信息。
- Delphi执行SQL提示“不正常地定义参数对象”,“提供了不一致或不完整的信息”错误
- Delphi执行SQL提示“不正常地定义参数对象”,“提供了不一致或不完整的信息”错误
- Delphi "不正常地定义参数对象。提供了不一致或不完整的信息"
- Delphi对象的方法能定义- 静态(static)、虚拟(virtual)、动态(dynamic)或消息处理(message)
- Delphi执行SQL提示“不正常地定义参数对象”,“提供了不一致或不完整的信息”错误
- Delphi中的Sender:TObject对象解析
- Delphi中的Sender:TObject对象解析
- Delphi执行SQL提示“不正常地定义参数对象”,“提供了不一致或不完整的信息”错误
- Delphi使用TADOQuery时:不正常地定义参数对象。提供了不一致或不完整的信息。
- VS 对象定义被隐藏(无法打开模块文件“C:...\.NETFramework,Verssion=v4.5.AssemblyAttributes.vb”系统找不到指定文件。)
- 【面向对象程序设计常见面试题】如何定义和实现一个类的成员函数为回调函数?
- 为什么C++中的类不能定义自身类的对象,而java可以? 【转载】
- javascript对象定义
- 提前定义及对象构造顺序
- 《GOF设计模式》—职责链(CHAIN OF RESPONSIBILITY)—Delphi源码示例:表示请求(使用请求对象)