一个form上有edit和button,edit里只能输入1到9之间的数字,不能为零,空,字母,汉字,按按钮时如果edit里不是1-9就会跳出提示,并且form不能关闭.应该怎么实现呀
比如:我在edit里输入了0,点击确定按钮弹出提示错误对话框,关掉错误提示,但整个form不关闭,应该怎么写
我写出后一关掉错误提示,整体窗体就不见了。这是为什么呀

解决方案 »

  1.   

    把你写的代码贴出来看看~~
    procedure TForm1.Button1Click(Sender: TObject); 
    begin 
      if (trim(edit1.Text)='') or (edit1.Text='0') then 
      begin 
        showmessage('编辑框内容不能为空或为零!'); 
      end 
      else 
        form1.Close; 
    end; procedure TForm1.Edit1Exit(Sender: TObject); 
    begin 
        if (trim(edit1.Text)='') or (edit1.Text='0') then 
        showmessage('编辑框内容不能为空或为零!'); 
        edit1.SetFocus; 
    end; procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); 
    begin 
      if not (key in ['1'..'9']) then 
        showmessage('请输入数字!'); 
    end;
      

  2.   

    可是把提示错误框关掉后,form1也跟着关啦,我想form1不关,,直到信息都输入对了,才关闭form1,
      

  3.   

    在Form的OnCloseQuery里做判断
    正确CanClose:= true; 错就CanClose:= false;