在ERP系统中
FORM上有很多控件,
在打开表单或查询时时,希望所有可获得焦点的控件的enabled属性全部为false,
当在菜单或工具栏选择新增或修改时,所有可获得焦点的控件的enabled属性全部为true我现在只能在事件(如FormCreate)里写,如:
 
  edit1.enabled:=false;
  edit2.enabled:=false;
等等
控件太多了,
能不能在设计是把enabled属性设置为一变量,在事件里直接给变量赋就行了可以这样做吗?

解决方案 »

  1.   

    把这些控件放在一个Panel上
    对Panel.Enabled赋值。
      

  2.   

    你可以 做个判断 一次把这个窗体上所有的同类对象的属性赋值 例如
    var
      i : integer;
    begin
      for i := 0 to ComponentCount-1 do
        begin
          if( Components[ i ] is TEdit )then
          begin
            (Components[ i ] as TEdit).Text :=‘哈哈哈哈’
         end;
      end;
    end;
    还有这不是我想出来的  也是别人告诉我的  出自
    http://expert.csdn.net/Expert/topic/1826/1826479.xml?temp=9.359378E-02