Кажется, мне нужно использовать таймер в отдельном потоке, так как время не работает, если я использую обычное время.Поэтому я сделал следующее, однако пока он останавливается в операторе Invoke, индикатор выполнения не меняет значения!
public partial class LoadingForm : Form
{
System.Threading.Timer t;
public LoadingForm()
{
InitializeComponent();
}
private void LoadingForm_Load(object sender, EventArgs e)
{
progressBar.Value = 0;
progressBar.Minimum = 0;
progressBar.Maximum = 100;
t = new System.Threading.Timer(TimerCallback, null, 0, 500);
}
private void TimerCallback(object e)
{
//time is here
progressBar.Invoke(new Action(() => progressBar.Value++));
}
private void timerTick()
{
//this is what i need to do !!!!
if (progressBar.Value == progressBar.Maximum) { progressBar.Value = 0; }
progressBar.Value++;
}
}
(если он работает идеально, я бы хотел иметь возможность вызывать timerTick () в Invokeзаявление)