T TomCat_ZYS Unregistered / Unconfirmed GUEST, unregistred user! 2006-02-15 #1 为什么有的过程有Sender:TObject,有的没有,Sender:TObject是什么样的参数,什么作用
R royal1442 Unregistered / Unconfirmed GUEST, unregistred user! 2006-02-15 #3 Sender:TObject 是用来传递 控件本身给该控件的事件的! 例如: procedure TForm1.Button1Click(Sender: TObject); begin (Sender as TButton).Name//此处的Sender 一般就是Button1 end;
Sender:TObject 是用来传递 控件本身给该控件的事件的! 例如: procedure TForm1.Button1Click(Sender: TObject); begin (Sender as TButton).Name//此处的Sender 一般就是Button1 end;
F flamingo Unregistered / Unconfirmed GUEST, unregistred user! 2006-02-15 #4 Delphi 简化了很多本来看起来很复杂的 Windows 消息和事件,其中,定义了一个 TNotifyEvent 用来做一般性的事件通知方法。这个方法定义的时候就定义了需要传递 一个参数,这个参数通常传递引起这一事件的肇事者,获得事件的一方,可以检查这个 肇事者,也可以不检查。你想想,这样多方便,需要的时候我就用它,不需要的时候我 当它没有。这是通用性定义事件方法的典范。
Delphi 简化了很多本来看起来很复杂的 Windows 消息和事件,其中,定义了一个 TNotifyEvent 用来做一般性的事件通知方法。这个方法定义的时候就定义了需要传递 一个参数,这个参数通常传递引起这一事件的肇事者,获得事件的一方,可以检查这个 肇事者,也可以不检查。你想想,这样多方便,需要的时候我就用它,不需要的时候我 当它没有。这是通用性定义事件方法的典范。
F FlyDayDream Unregistered / Unconfirmed GUEST, unregistred user! 2006-02-15 #5 是的。 举个例子: 有10个button,分别对应十个操作,你可以写一个过程就一完成. 10个button 分配 tag=1,2,...10 在button1 上 procedure Button1onclick(Sender:Tobject) begin if not ( sender is Tbutton) then Exit; case Tbutton(sender).Tag of 1: 2: 3: ... ... end; end; 然后把其他按钮的事件都绑定到 button1.click中,就可以了。
是的。 举个例子: 有10个button,分别对应十个操作,你可以写一个过程就一完成. 10个button 分配 tag=1,2,...10 在button1 上 procedure Button1onclick(Sender:Tobject) begin if not ( sender is Tbutton) then Exit; case Tbutton(sender).Tag of 1: 2: 3: ... ... end; end; 然后把其他按钮的事件都绑定到 button1.click中,就可以了。
J JohnSun2002 Unregistered / Unconfirmed GUEST, unregistred user! 2006-02-15 #6 通过判断Sender这个参数,可以达到灵活处理多种事件的效果。 比如 Button1Click(sender: TObject); 如果是用户点的界面上的按钮,sender就是Button1, 而你还可以在程序中调用这个函数,比如 Form1Show函数中,可以调用Button1Click(nil); 通过判断sender是不是nil就知道是客户点了按钮还是formshow时程序的调用。
通过判断Sender这个参数,可以达到灵活处理多种事件的效果。 比如 Button1Click(sender: TObject); 如果是用户点的界面上的按钮,sender就是Button1, 而你还可以在程序中调用这个函数,比如 Form1Show函数中,可以调用Button1Click(nil); 通过判断sender是不是nil就知道是客户点了按钮还是formshow时程序的调用。
S sunnyfairy Unregistered / Unconfirmed GUEST, unregistred user! 2006-02-18 #7 楼上的解释不错! sender就是你的事件的点后面的那个对象!
J jxj0561 Unregistered / Unconfirmed GUEST, unregistred user! 2006-02-18 #8 Sender是触发该事件的对象,一般情况下是控件本身,但如果用程序代码调用则是触发事件的控件,这个属性非常有用
M _Murray Unregistered / Unconfirmed GUEST, unregistred user! 2006-02-28 #9 向上继承,因为所有的类都从TOBJECT继承来的,所以Sender:TObject做参数时可以自动做类型识别。