procedure TForm1.RadioButton1Click(Sender: TObject);
  begin
   if form1.RadioButton1.Checked:=true then
      form1.SpeedButton1.Enable:=true(初始为false)
   else
      form1.SpeedButton1.Enable:=false;
  end;  procedure TForm1.RadioButton2Click(Sender: TObject);
  begin 
   if form1.RadioButton2.Checked:=true then
      form1.SpeedButton.Enable:=true(初始为false)
   else
      form1.SpeedButton.Enable:=false;
  end;运行后发现两个speedbutton的属性Enable无法切换.正确的切换方法我现在知道了,想问问这段代码有什么问题?谢谢解答!!!

解决方案 »

  1.   

    你这么写不累吗,起码的优化你该理解吧?procedure TForm1.RadioButton1Click(Sender: TObject);
    begin
      SpeedButton1.Enable:= form1.RadioButton1.Checked;
    end;
    procedure TForm1.RadioButton2Click(Sender: TObject);
    begin 
      SpeedButton2.Enable:= RadioButton2.Checked;
    end;
      

  2.   

    RadioButton被点击后checked当然是true啦,它不是checkbox,又不会来回变化
      

  3.   

    两个speedbutton的enable成了true后,再也无法变成false了,所以不能切换,想切换的话可以在pazee(耙子) 老兄的基础上加上几句
    procedure TForm1.RadioButton1Click(Sender: TObject);
    begin
      SpeedButton1.Enable:= form1.RadioButton1.Checked;
      SpeedButton2.Enable:= form1.RadioButton2.Checked;end;
    procedure TForm1.RadioButton2Click(Sender: TObject);
    begin 
      SpeedButton1.Enable:= form1.RadioButton1.Checked;
      SpeedButton2.Enable:= RadioButton2.Checked;
    end;
      

  4.   

    非常感谢!!!尤其是pazee(耙子).我刚接触Delphi有很多不懂的,还请别笑话.以后大家多多交流,开导开导小弟!