procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  if edit2.text<>edit1.text then edit2.SetFocus
  else BitBtn1.ModalResult:=mrok;  end;上面的代码写在mousedown事件里就不用点三次了:)

解决方案 »

  1.   

    工程文件}
    program Project1;uses
      Forms,
      dialogs,
      Controls,
      Unit1 in 'Unit1.pas' {Form1},
      Unit2 in 'Unit2.pas' {Form2};{$R *.RES}begin
      Application.Initialize;
      Application.CreateForm(TForm1, Form1);
      if form1.ShowModal=mrok then
        begin
        form1.hide;
        form1.free;
        Application.CreateForm(TForm2, Form2);
        end;
      Application.Run;
    end.
      

  2.   

    procedure TForm1.BitBtn1Click(Sender: TObject);
    begin
      if edit2.text<>edit1.text then
        edit2.SetFocus
      else 
        ModalResult:=mrok; //这里改掉。
      end;//你在工程原文件中多了一句Form1.ShowModal;
    另外如果Form2是MidChild的话,会出错。
      

  3.   

    行了,多谢joney1(不懂编程)和taxi(游少爷)。但是Form1.ShowModal;还得有这一行才行,再次感谢。