用事件里的SENDER参数

  if sender.name=DBGrid1 then
  begin  end
  else
  if sender.name=DBGrid2 then
  begin
  
  end

解决方案 »

  1.   

    (sender as twincontrol).handle = dbgrid1.handle.......................................2........
      

  2.   

    procedure TForm1.MenuItemGrid1Click(Sender: TObject);
    var
      vDBGrid: TDBGrid;
    begin
      vDBGrid := TDBGrid(TPopupMenu(TMenuItem(Sender).GetParentMenu).PopupComponent);
      ShowMessage(vDBGrid.Name);
    end;procedure TForm1.PopupMenu1Popup(Sender: TObject);
    var
      vDBGrid: TDBGrid;
    begin
      vDBGrid := TDBGrid(TPopupMenu(Sender).PopupComponent);
      Caption := vDBGrid.Name;
    end;
      

  3.   

    if (Sender as TDBGrid).name = DBGrid1 then
        .....
    else
        ....
    Sender其实就是事件源