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會終止元素的繪製。有沒有一種啓動線程的方法(使用運行方法創建新的線程來控制移動動作?) –