关于Delphi中Statusbar的问题:

来源:百度知道 编辑:UC知道 时间:2024/05/30 23:18:35
我想点击按钮执行以下程序:
procedure TForm1.Button1Click(Sender: TObject);
begin
statusbar1.Panels[0].Text:='正在读取,请稍候...';
sleep(3000); //实际程序中为数据库查询程序
statusbar1.Panels[0].Text:='读取完成。';
end;
问什么不显示‘正在读取,请稍候...’,而在一段时间后显示‘读取完成。’

可能在状态栏还没有来得及显示,程序就进入停滞阶段了.
其实使用timer控件可以达到你想要的结果.sleep函数较浪费系统资源,一般不建议使用的.
procedure TForm1.Button2Click(Sender: TObject);
begin
statusbar1.Panels[0].Text:='正在读取,请稍后...';
timer1.Enabled := true;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
statusbar1.Panels[0].Text:='读取完成';
end;
timer时间设置为3000