求教,请高手指点(50分)

  • 主题发起人 主题发起人 yjred
  • 开始时间 开始时间
Y

yjred

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TForm1.Button1Click(Sender: TObject);
这个过程中的参数Sender代表什么?
 
del520 (2002-4-6 22:24:00)
经常看到例子上有Sender,还有过程序中也有Sender,这到底是什什么东西?有啥用?
干嘛这么多地方用它?

yansh (2002-4-6 22:26:00)
sender是从TObject基类继承下来的,TObject是delphi所有类的根。

zhenghui (2002-4-8 11:00:00)
sender是事件的触发者,即触发事件的控件

有毛病 (2002-4-8 11:23:00)
听课。

枪手哈特 (2002-4-8 12:04:00)
如下例:
procedure TForm.ButtonClick(Sender: TObject);
begin
if tbutton(sender).caption='aaa' then
begin
tbutton(sender).caption:='bbb';//此处sender代表button aaa
.....
end;
if tbutton(sender).caption='ccc' then
begin
tbutton(sender).caption:='ddd';//此处sender代表button ccc
.....
end;
.......
end;
这样可以使许多button共享一段代码,在某些程序中是很方便的啦!

 
sender 告诉用户当前谁在调用这个过程,应该是对象或类。
The Sender parameter in an event handler informs Delphi which component
received the event, and therefore called the handler. You can write a
single event handler that responds to multiple component events by using
the Sender parameter in an if..then..else statement.

帮助里有例子啊。
procedure TMain1.Button1Click(Sender: TObject);
begin
if Sender = Button1 then
AboutBox.Caption := 'About ' + Application.Title
else AboutBox.Caption := '';
AboutBox.ShowModal;
end;
 
是真正引发这个事件的对象。

因为一个事件处理过程可用于多个对象 。。
 
谢谢三位,请接分
 
后退
顶部