uses Unit2;procedure TForm1.Button2Click(Sender: TObject);
begin
  Form2.Button1Click(self);
end;

解决方案 »

  1.   

    楼上的
      如果form2没创建,就会出错,而且Button1Click是私有属性我的方法如下 :form2 中
    procedure TForm2.Button1_Click(sender:Tobject);    //设为公共属性
    begin
      Button1Click(serder);
    end;form1 中
    uses Unit2;procedure TForm1.Button2Click(Sender: TObject);
    begin
      Form2.Button1_Click(self);
    end;
     if assigned(form2)
      

  2.   

    写错了
    如下:
      
    我的方法如下 :form2 中
    procedure TForm2.Button1_Click(sender:Tobject);    //设为公共属性
    begin
      Button1Click(serder);
    end;form1 中
    uses Unit2;procedure TForm1.Button2Click(Sender: TObject);
    begin
     if assigned(form2) then
        Form2.Button1_Click(self);
    end;
      

  3.   

    //Unit1.pas
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      if Assigned(Form2) then
         PostMessage(Form2.Handle, WM_USERBUTTON,        Form2.Button1.Handle, 0);
    end;//Unit2.pas
    unit Unit2;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;const
    WM_USERBUTTON = WM_USER + 100;type
      TForm2 = class(TForm)
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
        procedure WMUSERBUTTON(var Msg: TMessage); message WM_USERBUTTON;
      public
        { Public declarations }
      end;var
      Form2: TForm2;implementation{$R *.dfm}procedure TForm2.Button1Click(Sender: TObject);
    begin
    ShowMessage('Form2');
    end;procedure TForm2.WMUSERBUTTON(var Msg: TMessage);
    begin
      if Msg.WParam = Button1.Handle then
        Button1Click(Self);
    end;
      

  4.   

    procedure TForm2.Button1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
      showmessage('fdfd');
    end;
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@2procedure TForm1.Button1Click(Sender: TObject);
    begin
    form2.Show ;
    sendmessage(form2.Button1.Handle,WM_LBUTTONUP  ,0,0);end;