用timer控件怎样label来回走???我只能做到向一个方向走!
procedure TForm1.Timer1Timer(Sender: TObject);
var
 b:integer;
begin
 if label1.left<0 then
  label1.left:=form1.Width
 else
  label1.Left:=label1.Left-10;
end;

解决方案 »

  1.   

    在单元代码中定义一个全局变量dx,并在窗体的创建事件中加入以下代码
    dx:=10;
    label1.left:=0;
    如一开始要还应标签从右向左移动的话就改成
    dx:=-10;
    lebel1.left:=form1.width
    然后把timer事件改成如下
    procedure TForm1.Timer1Timer(Sender: TObject);
    begin
     lable1.left:=label1.left+dx;
     if ((label1.left<0) or (lable1.left>form1.width)) then
     dx:=-dx;
    end
      

  2.   

    如果想要来回走的话,应该是这样procedure TForm1.Timer1Timer(Sender: TObject);
    var
     b:integer;
    begin
     if label1.left<=0 then
      label1.left:=label1.left+10;
     if labedl1.left>=form1.width then
     label1.Left:=label1.Left-10;
    end;