我试图在每个卷上显示2个骰子的数量。 当我运行程序时 lblDice1 和 lblDice2 只会显示最后一次滚动的编号,而listBox lstResults 只会在for循环结束后显示。如何逐步显示每个卷的结果。 这是我的代码
private void btnRoll_Click(object sender, EventArgs e)
{
for (int i = 1; i < 101; i++)
{
Dice1 = rnd.Next(1, 7);
Dice2 = rnd.Next(1, 7);
lblDice1.Text = Convert.ToString(Dice1);
lblDice2.Text = Convert.ToString(Dice2);
strOut = Convert.ToString(Dice1);
strOut2 = Convert.ToString(Dice2);
lblRollNum.Text = Convert.ToString(i);
if (Dice1 == Dice2)
lstResults.Items.Add(i + "\t" + strOut + "\t" + strOut2 + "\t" + "Same Dice Value");
else
lstResults.Items.Add(i + "\t" + strOut + "\t" + strOut2);
System.Threading.Thread.Sleep(1000);
}
}
答案 0 :(得分:0)
您使用的是什么类型的应用,WinForm或WPF?
如果您是WPF,那么您的循环将占用UI线程,因此在循环结束之前UI不会呈现。
您可以使用MVVM http://galasoft.ch/之类的东西将UI绑定到模型中不断变化的数据。