搜索
bottom↓
回复: 8

Delphi 中的 Sender:TObject 是什么意思?(真是万能的坛啊,问题短时间解决,谢谢大家!)

[复制链接]

出0入0汤圆

发表于 2008-8-14 16:32:48 | 显示全部楼层 |阅读模式
今天看了Delphi,但是Sender:TObject是什么意思不知道,看了很多的书也查了很多资料不是很了解
各位高手指点一下!

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出1070入962汤圆

发表于 2008-8-14 16:59:12 | 显示全部楼层
Sender就是调用者,比如按钮按下事件发生后,可以在该事件消息处理函数中根据sender参数知道是谁调用了这个按钮按下时间。

出0入0汤圆

 楼主| 发表于 2008-8-14 17:01:19 | 显示全部楼层
【1楼】 Appcat
举个例子可以吗?谢谢!

出1070入962汤圆

发表于 2008-8-14 17:04:58 | 显示全部楼层
等一下哈,有3年没摸Delphi了,我要到另外一个电脑上敲一段代码给你。

代码来了,最简单的:
在一个空的窗体上放三个按钮,分别是Button1,Button2,Button3,
然后添加代码:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    procedure Button3Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button3Click(Sender: TObject);
begin
    if Sender = Button1  then
    begin
        ShowMessage('是Button1按的我');
    end
    else
        if Sender = Button2  then
        begin
            ShowMessage('是Button2按的我');
        end
        else
            ShowMessage('是我自己按的!');

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
    Button3Click(Button1);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
    Button3Click(Button2);
end;

end.

出0入0汤圆

发表于 2008-8-14 17:14:44 | 显示全部楼层
在界面上放一个按钮 然后
在其中的OnClick事件中加入如下代码:
  (Sender as TButton).caption:='你好坏哦,摸我!?';

运行后,你就知道式怎么回事哦

出0入0汤圆

 楼主| 发表于 2008-8-14 17:16:19 | 显示全部楼层
【3楼】 Appcat
谢谢!

出0入0汤圆

 楼主| 发表于 2008-8-14 17:16:31 | 显示全部楼层
【4楼】 knight_avr
我试一下!

出0入0汤圆

发表于 2008-8-14 17:19:39 | 显示全部楼层
如果以上过程名为 Button1click(Sender:tobject)

那么 再放一个按钮名为“Button2” 在 第二个按钮中放入如下代码 :Button1click(Buuton2); 然后运行 点击看看效果

出0入0汤圆

 楼主| 发表于 2008-8-14 17:36:41 | 显示全部楼层
【3楼】 Appcat 【7楼】 knight_avr
做了几个小实验,终于明白了,谢谢两位!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-20 11:22

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表