有几个输入控件,主要是edit和combobox。现在我想在输入数据的时候严格按照edit1,edit3,combobox1,combobox2,edit2的顺序输入数据,也就是说如果edit1的数据没输入,那么edit3后面的控件都不允许输入数据。请问大家有啥好的思路来实现?我不想在每一个控件的enter和exit事件中都写一次代码。

解决方案 »

  1.   

    郁闷点的话,就是在全部控件里的change事件里加上if trim(text) = '' then
    begin
      edit3.text:= ''; //也可以不清
      edit3.enable:= false;  ...   // 视乎控制的控件个数
    end;如果不想每个写的话,可以加个Timer在做判断.还有一个短一点的(如edit3):  enable := trim(edit1.text) <> '';
      

  2.   

    写一个function 吧!!有点
      

  3.   

    在onkeypress中写事件,加一个判断,不符合条件就abort
      

  4.   

    禁用鼠标点击更换输入控件的焦点
    只允许用Tab 或者  回车
    然后在这个事件中写一个函数就行了
      

  5.   

    每一个控件的enter和exit事件 可以使用同一段代码(同一个事件函数)