我正在创建一个Delphi程序,我的程序中有这个代码:
begin
if edit1.Text='salam' then
begin
for i := 1 to 10 do
begin
progressbar1.Value := progressbar1.Value+1;
sleep(100);
end;
end;
end;
我想让进度条顺利移动。但是这段代码不是那样的。
我该怎么办?我想在睡觉后重新绘制表格。
答案 0 :(得分:1)
你应该这样做......
begin
if edit1.Text='salam' then
begin
progressbar1.Step:=1;
for i := 1 to 10 do
begin
progressbar1.StepIt;
Application.ProcessMessages;
Sleep(100);
end
end;
end;
Windows需要处理要重新绘制的消息,并且知道您的应用程序没有被引导,Application.ProcessMessages就是这样做的。