Ada*_*rsh 4 c# winforms progress-bar
问题是标签在progress-bar完成之前显示.如何label在progress-bar完全显示后才能显示?
我尝试将最大值更改为更高的数字,但它不起作用.
public partial class dload : Form
{
public dload()
{
InitializeComponent();
}
private void dload_Load(object sender, EventArgs e)
{
label1.Visible = false;
}
private void button1_Click(object sender, EventArgs e)
{
int i = 0;
progressBar1.Minimum = 0;
progressBar1.Maximum = 5000;
for (i = 0; i <= 5000; i++)
{
progressBar1.Value = i;
if (i == 5000)
{
label1.Visible = true;
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
实际上,你的代码运行非常庞大,从0%到100%设置值大约不到一秒!但
ProgressBar有两种样式用于显示当前状态(Classic和Continues).
在Continues模式中,如果进度值从0%变为100%,则控件将显示动画,但不显示真实且准确的进度.您可以设置延迟通过Thread.Sleep()并在for循环后立即显示您的标签,以了解我发生的事情!
以下代码将起作用:
private void button1_Click(object sender, EventArgs e)
{
int i = 0;
progressBar1.Minimum = 0;
progressBar1.Maximum = 5000;
for (i = 0; i <= 5000; i++)
{
Thread.Sleep(1);
progressBar1.Value = i;
}
label1.Visible = true;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
89 次 |
| 最近记录: |