设动态创建的Button  name为'tmpBtn'

解决方案 »

  1.   

    if Assigned (tmpBtn) then
      tmpBtn.Enabled := true;
      

  2.   

    楼上的大哥,tmpBtn是按钮的name属性啊,tmpBtn.Enabled := true 根本行不通的
      

  3.   

    procedure CreateTmpBtn;
    var
      tmpButton: TButton;
      TC: TComponent;
    begin
      TC:= FindComponent('tmpBtn');
      if TC = nil then
      begin
        tmpButton:= TButton.Create(self);
        with tmpButton do
        begin
          Parent:= self;
          Name  := 'btn_tmp';
          Height:= 25;
          Width := 75;
          Left  := W-85;
          Top   := H-35;
          TabOrder := 0;
          Caption:= '取    消';
          OnClick:= tmpBtnClick;
        end;
      end;
    end;
      

  4.   

    var
      x: tbutton;
    begin
      x := tbutton.Create(application);
      x.Parent := self;
      x.Name := 'tmpBtn';
      if assigned(x) then
        x.Enabled := False;
    end;
      

  5.   

    //下面这个是动态创建后在外部设置,也许方法笨了点:)
    procedure TForm1.Button1Click(Sender: TObject);//创建
    var
      NewButton: TButton;
    begin
      NewButton := TButton.Create(Form1);
      NewButton.Parent := Form1;
      NewButton.Caption := '123456';
      NewButton.Enabled := true;
    end;procedure TForm1.Button2Click(Sender: TObject);//设置
    var
      i:integer;
    begin
      For i:=0 to Self.ComponentCount-1 do
      begin
        if TButton(Self.Components[i]).Caption = '123456' then
            TButton(Self.Components[i]).Enabled := false;//重新设置
      end;
    end;------------
    如果创建的时候要设置的话,直接设置就可以了,我试过,可以的
    procedure TForm1.Button1Click(Sender: TObject);
    var
      NewButton: TButton;
    begin
      NewButton := TButton.Create(Form1);
      NewButton.Parent := Form1;
      NewButton.Caption := '123456';
      NewButton.Enabled := true;//这里
    end;
      

  6.   

    to 回复人: Kshape(伟大的大伟//[现在的人发帖、一点分数含量都没有!]) 谢谢你的提示,我现在的方法是
    TButton(MainForm.FindComponent('123456')).Enable:= True;