我只是想让进度条前进一步,因为计时器会加速一秒钟,但却无法完成。请帮忙。
我应该在计时器的tick事件中使用变量i,并将i递增1。 并写:progressBar1.Increment(i) - 我试过这个,它的工作原理。
但为什么不使用以下代码:
public partial class Form1 : Form
{
Timer t = new Timer();
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
t.Interval = 1000;
t.Enabled = true;
t.Tick += new EventHandler(t_Tick);
}
void t_Tick(object sender, EventArgs e)
{
progressBar1.Increment(1);
}
当一秒钟过去时,tick事件发生,并且progressBar应该增加1,但是在这里,它只是在一个增量上升,即它只前进1并停止。
答案 0 :(得分:2)
It should work。在分配事件处理程序后尝试启用计时器:
private void Form1_Load(object sender, EventArgs e)
{
t.Interval = 1000;
t.Tick += new EventHandler(t_Tick);
t.Enabled = true;
}
答案 1 :(得分:0)
您的代码可能正常运行。问题是您的进度条上的最大值可能很高,以至于进度条的值足够高以显示下一个块需要一段时间。
将您的最大值设置为100,您应该会看到您的代码正常运行。
答案 2 :(得分:-1)
缺少定时器启动,下面的代码假设有效。
public partial class Form1 : Form
{
Timer t = new Timer();
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
t.Interval = 1000;
t.Tick += new EventHandler(t_Tick);
// enable timer after the handler attached
t.Enabled = true;
// Start the timer.
t.Start();
}
void t_Tick(object sender, EventArgs e)
{
progressBar1.Increment(1);
}