Sender的意义及使用举例

本文介绍了一种在Delphi等环境下利用Sender参数来区分并处理不同组件触发相同事件的方法。通过案例演示了如何根据不同的按钮点击改变标签的位置。
在对象的事件区中,Sender是用来指出哪个组件接收此事件,而调用事件的Handler
 (事件句柄),而且能通过Sender参数来,让多个组件共享一个事件区.
 在该事件区中,用Sender参数作为条件语句的分支条件,就能依据不同组件接收的
 情况,而有不同的表现,
 1unit Unit1;
 2
 3interface
 4
 5uses
 6  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 7  Dialogs, StdCtrls;
 8
 9type
10  TForm1 = class(TForm)
11    Label1: TLabel;
12    Button1: TButton;
13    Button2: TButton;
14    Button3: TButton;
15    Button4: TButton;
16    procedure Button1Click(Sender: TObject);
17  private
18    { Private declarations }
19  public
20    { Public declarations }
21  end;
22
23var
24  Form1: TForm1;
25
26implementation
27
28{$R *.dfm}
29
30procedure TForm1.Button1Click(Sender: TObject);
31VAR
32  SenderNum: Integer;
33begin
34  SenderNum := 1;
35  IF Sender = Button1 THEN SenderNum := 1;
36  IF Sender = Button2 THEN SenderNum := 2;
37  IF Sender = Button3 THEN SenderNum := 3;
38  IF Sender = Button4 THEN SenderNum := 4;
39  CASE SenderNum OF    //
40    1: Label1.Top := Label1.Top - 10 ;
41    2: Label1.Top := Label1.Top + 10 ;
42    3: Label1.Left := Label1.Left - 10 ;
43    4: Label1.Left := Label1.Left + 10 ;
44  END;    // case
45
46end;
47
48end.
49
50

转载于:https://www.cnblogs.com/dreamszx/archive/2009/09/22/1572020.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值