假设你的主窗体为Form1,Form2为动态生成的窗体。Form2上面又两个Button,他们的ModalResult属性分别为:mrOK和mrCancel。这样,通过判断Form2的ModalResult属性就可以知道用户点了哪个Button,你就不用在Form2的ButtonClick事件里面写代码判断了。有时候,你都完全不必在Form2单元中写任何代码。
简单的例子:
procedure TForm1.Button2Click(Sender: TObject); var Form2: TForm2; mr: TModalResult; begin Form2 := TForm2.Create(Self); try mr := Form2.ShowModal; case mr of mrOK: ShowMessage( 'OK '); mrCancel: ShowMessage( 'Cancel '); end; finally FreeAndNil(Form2); end; end; end.