怎么在Form的Create事件中弹出一个对话框,然后关闭该窗口?
我是这么做的:
MessageBox(this.Handle, ...);
Close();
结果窗口是显示出来了。
加Abort()也不行。

解决方案 »

  1.   

    为什么想弹出窗口?!不要在create 中干太多事情,尽量在 show 或afterconstrunct 中做事!~
      

  2.   

    你另外做一个form,比如form2
    然后在form1.create中加入form2.show 
                            form2.close
      

  3.   

    MessageBox(this.Handle, ...);Close();这个是关闭主窗体的,不是关闭对话框的呀,
    而你在Create事件中写Close();,所以连主窗口也关不了了你的对话框可以自己健一个,比如Fomr2。
    然后在Form1.onshow中,Form2。showmodal.然后Form2。close;记得要Uses Unit2
      

  4.   

    我的意思是说,Create事件中弹出一个对话框显示消息后,关闭主窗口(弹出对话框的窗口)。就是自己关闭自己。
      

  5.   

    在Dpr文件里写
    MessageBox(this.Handle, ...);
    放在窗体Create之前
      

  6.   

    在OnShow事件里这么写就行了:
    procedure TForm1.FormShow(Sender: TObject);
    begin
    if MessageBox(Handle,'退出?','确认', MB_OKCANCEL) = ID_OK then
        SendMessage(Handle, WM_CLOSE, 0, 0);
    end;
      

  7.   

    procedure TForm1.FormShow(Sender: TObject);
    begin
     showmessage(inttostr(handle));
      sendmessage(Form1.Handle,wm_close,0,0)
    end;这个不行??你试没试阿,不要放在create里,放在show里
      

  8.   

    先Hide 主窗体
    然后再在Close MessageBox后判断是否要真正关闭主窗体嘛。
      

  9.   

    他在create的时候只是create了一个窗体,还没有打开你怎么把他关掉就像我做了一扇门,只是做了,还没有装到你家门框上,你就让我把他从你家门框上取下来...
      

  10.   

    不能放在create 中做这个事儿,放在dpr 中嘛,在create form1 前show box