私のプログラム中にプログレスバーを表示したいのですが、いくつかの機能が実行されています。この関数は、ユーザーがbutton1をクリックすると実行されます。私はバックグラウンドで実行されているトレッドを使用しましたが、私のプログラムでは、このスレッドはこの機能を実行した後に実行されています。どうすれば修理できますか?バックグラウンドでスレッドC#
private void button1_Click(object sender, EventArgs e)
{
pr(sender,e);
}
public void pr(object sender, EventArgs e)
{
if (... == DialogResult.OK)
{
if (...)
{
Thread wa = new Thread(new ThreadStart(this.lad));
wa.IsBackground = true;
timer1.Interval = 500;
timer1.Start();
wa.Start();
if (... == DialogResult.OK)
{//the rest of the function}
}
}
}
private void lad()
{
int war = 10;
if (this.progressBar1.InvokeRequired)
{
progressBar1.Invoke((Del)delegate
{
for (int i = 1; i <=10; i++)
{
this.progressBar1.Value = this.progressBar1.Value + war;
}
});
}
if (progressBar1.Value == progressBar1.Maximum)
{
timer1.Stop();
MessageBox.Show("files saved");
}
}
private void timer1_Tick(object sender, EventArgs e)
{
ladowanie_paska();
}
私はこれらの変数と関数名が....何かを意味すると思いますか?誰もこれを維持しなくていいと思っています。 –
@ワンコ合意、彼らは直感的ではありません。オンライン投稿の目的で難読化されることを祈っています。 – AaronLS