相關部分的集合的值是在這裏:我的循環的第二次迭代顯示在一個不同的順序碼的第一個
private async void Start_Button_Click(object sender, EventArgs e)
{
try
{
timer1.Interval = 50;
timer1.Enabled = true;
timer1.Start();
LoopCheck = true;
trackBar1.Hide();
label1.Hide();
label2.Hide();
label3.Hide();
label4.Hide();
label5.Hide();
label6.Hide();
label7.Hide();
label8.Hide();
label9.Hide();
label10.Hide();
label11.Hide();
textBox1.Font = new System.Drawing.Font("Times New Roman", 24F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(162)));
while (LoopCheck)
{
foreach (string word in WordsOfFile)
{
WordToShow = word;
await Task.Delay(time);
}
}
}
catch
{
System.Windows.Forms.MessageBox.Show("You need to add text by clicking 'Load Text' button", "Error!");
textBox1.Font = new System.Drawing.Font("Times New Roman", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(162)));
LoopCheck = false;
timer1.Stop();
trackBar1.Show();
label1.Show();
label2.Show();
label3.Show();
label4.Show();
label5.Show();
label6.Show();
label7.Show();
label8.Show();
label9.Show();
label10.Show();
label11.Show();
}
}
private void Stop_Button_Click(object sender, EventArgs e)
{
LoopCheck = false;
timer1.Stop();
trackBar1.Show();
label1.Show();
label2.Show();
label3.Show();
label4.Show();
label5.Show();
label6.Show();
label7.Show();
label8.Show();
label9.Show();
label10.Show();
label11.Show();
}
超出此代碼我顯示在此WordToShow
字符串文本框。 當我點擊StartButton
這段代碼開始。當我點擊StopButton
這LoopCheck
值設置爲false
。這意味着循環停止。它在第一次點擊開始時效果很好。
當我點擊開始再次WordsOfFile
中的字未按正確的順序顯示。這意味着我錯過了foreach
區塊。
它可能是什麼?
什麼是WordsOfFile?它是一個List嗎?給我們更多的代碼...因爲我們不知道這些元素是什麼。 –
這是一個異步的過程,這意味着沒有同步和沒有訂單... – Dimitri
我已經改變了你的標題爲更具描述性的東西。如果這不是你的意思,請澄清你確切的問題。 –