1
即时试图使一个按钮从(0.0)移动到(500.500),选择那些我用一个循环,并如上面的代码中的线程休眠过程:的Delphi按钮消失
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
type
TForm1 = class(TForm)
TbuttonAction: TButton;
procedure show(Sender: TObject);
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.show(Sender: TObject);
var
i: Integer;
begin
TbuttonAction.Caption:='my first action';
for i := 0 to 500 do
begin
TThread.Sleep(10);
TbuttonAction.Top:=i;
TbuttonAction.Left:=i;
end;
end;
end.
第一次单击按钮从0.0移动到500.500,但如果我点击另一次(第二次或第三次当按钮在500.500上),按钮消失,然后出现一段时间后。请问如何解决这个问题?我今天开始delphi,但我很好用java(3年)。
我使用embarcadero Xe 8 –
@JerryDodge我试过了但仍然消失,循环从0.0开始 –
我认为使用线程sleep会终止元素的绘制。有没有一种启动线程的方法(使用运行方法创建新的线程来控制移动动作?) –