关于sender和共享代码的问题(10分)

  • 主题发起人 sugarsun
  • 开始时间
S

sugarsun

Unregistered / Unconfirmed
GUEST, unregistred user!
学习了一下sender,但是下面这段简单代码,(窗体添加了两个button,一个label)可以
编译运行,就是按两个按钮,label都没反应,谁能解释一下,这样共享代码不行吗?
procedure TForm1.ButtonClick(Sender: TObject);
begin
if sender=Button1 then
label1.caption:='1111'
else
label1.Caption:='2222';
end;
 
你再试试?
 
if (Sender as TButton).name=button1 then
label1.caption:='1111'
else
label1.Caption:='2222';

这样就成了。
 
对了,button1应该加上引号,我忘了给你加了。
if (Sender as TButton).name='button1' then
label1.caption:='1111'
else
label1.Caption:='2222';
 
好象还可以这样:
procedure TForm1.ButtonClick(Sender: TObject);
begin
if TButton(Sender).Name='Button1' then
label1.caption:='1111'
else
label1.Caption:='2222';
end;
 
好像都没反应阿,也没提示什么错误
是不是我的delphi6出现问题了?,我上面那段代码好像在哪笨书上见过,想试一下,却不行
我的delphi刚刚加了第二版的补丁
 
你有没有关联事件啊,单单写一个这样的过程是不会自己执行的
需设置要执行此代码的事件
 
好象这样才可以吧!
procedure TForm1.ButtonClick(Sender: TObject);
begin
if (sender is TButton) then
label1.caption:='1111'
else
label1.Caption:='2222';
end;
 
if (Sender as TButton)=button1 then
 
to lichaohui
关联的时间就是buttonclick,
to luck99
你这样只能判断是否事件是按钮事件
我要判断具体哪个按钮..
 
怎么都不行,楼上的都试过了,麻烦你们试一下,到底能成功不?
今天是学delphi的第7天...唉
 
两个BUTTON的ONCLICK都要指向ButtonClick才行
 
verycoolboy
你是说要在interface里面声明两个按钮的onclick过程?
 
不好意思,我没看清楚题目!
 
楼上的不行
 
这样的话那就没法共享了!只有用全局变量了!
 
是不是这样的过程不允许?
procedure TForm1.ButtonClick(Sender: TObject);
可是程序没任何错误提示
 
误会我的意思啦,可惜我现在没有Delphi用,不然给你发段代码。。我是说应该
将两个Button的ONCLICK都指像一处,其实你贴出来的第一段代码就应该是正确的,
但如果我估计没错的话,你可能只是双击BUTTON1来生成的,而没有将BUTTON2的
ONCLICK指向它。。。
 
留个E-MAIL,我发份例程给你吧...
 
verycoolboy,你估计的没错
原来还要这样,已经成功了,但这样稍嫌麻烦,我若有很多button..?
其实也不算麻烦了..
多谢
 
顶部