我有两组按钮(暂称为组A,B),都是tbsCheck 而且 grouped,每个组内只有一个按钮被按下,当组内的另一个按钮被按下时,当前按钮就要弹起
我想让组B中的按钮的enabled属性根据组A中第一个按钮的checked属性来确定,如果该按钮被按下组B中所有按钮都enabled,否则disable
我现在想到的只能是在组A中所有的onclick中判断第一个按钮是不是checked,好像是土了点,A组中按钮很多,添加起来有点麻烦
废话了这么多,问题:有没有什么方法可以将组A第一个按钮的checked属性与组B所有的enabled属性关联起来

解决方案 »

  1.   

    方法很多
    1、ActionList新建一个Action,然后给一组控件指定同一个Action
    2、给一组控件指定同一个事件函数
      

  2.   

    checkbox1为groupbox1中的第一个按钮
    procedure TForm1.CheckBox1Click(Sender: TObject);
    var
      i: integer;
    begin  if (sender as Tcheckbox).Caption='CheckBox1' then
      begin
        if (sender as Tcheckbox).Checked=true then
        begin
          for i:=0 to groupbox2.ControlCount-1 do
            Tcheckbox(groupbox2.Controls[i]).Checked:=true;
        end
        else
        begin
          for i:=0 to groupbox2.ControlCount-1 do
            Tcheckbox(groupbox2.Controls[i]).Checked:=false;
        end;
      end;
    end;