procedure TFmCtrlGrid.DBGrid1Enter(Sender: TObject);

解决方案 »

  1.   

    sender:Tobjectsender 是你发生事件的对象,比如,点击按钮(button1) sender 就是 button1,但是默认该对象是TOJECT所以你在使用的时候需要进行类型转换 TButton(sender).caption(如获得按钮上的文本)。
      

  2.   

    一个事件不一定能对应一个控件
    如:
    Button1.OnClick := Button1Click;
    Button2.OnClick := Button1Click;
    Button3.OnClick := Button1Click;
    Button4.OnClick := Button1Click;四个按钮都执行同一个事件代码
    procedure Button1Click(Sender: TObject);
    就可以通过Sender来确定用户点击的是哪个按钮
      

  3.   

    sender is Tbutton1
      DoSomething
    sender is Tbutton2
      DoSomething
    Sender is TButton3
      DoSomeThing
    ...
      

  4.   

    楼上的显然说错了。
    if sender = Button1 then
    ..
    else if sender = Button2 then
    ..
    else if sender = Button3 then
    ..
    else if sender = Button4 then
      

  5.   

    Sender很多时候是和Tag属性一起用:
    比如,编写一个计算器,有0~9 共10个按钮,可以使用1个函数,在10个按钮的Tag属性中设定每个按钮对应的整数值,在事件里面写:
    TComponent(Sender).Tag即可知道当前按钮的值。
      

  6.   

    在Delphi中,TObject是所有类的祖先类,在一些通用的过程(特别是事件过程)中,使用TObject类型参数才能保证任何类实例的传递。在过程中,如需使用这个参数,可用'is'或者'='进行判断后,强制转换为特定类进行处理。