如何在';n';迭代次数?WPF

本文关键字:WPF 迭代 | 更新日期: 2023-09-27 17:59:44

我在WPF应用程序中添加了一个进度条,用于统计手势的执行次数。但我希望进度条在20次迭代后重置为零。

我试图在下面的代码中实现这一点,但当条形图达到20时,它会继续计数,进度显示为满。我的问题是,如何修复我的循环以允许这种情况发生?

void matcher_GestureMatch(Gesture gesture)
{
    scoreProgBar.Maximum = 20;
    lblGestureMatch.Content = gesture.Name;
    if(scoreCntr == 20)
    {
        scoreCntr.Equals(0);
    }
    scoreCntr++;
    scoreProgBar.Value = scoreCntr;
    lblScoreCntr.Content = scoreCntr;
} 

如何在';n';迭代次数?WPF

此行:

scoreCntr.Equals(0);

不会做你可能认为的事情。它将比较当前对象实例(scoreCntr)与作为参数(0)传递的其他对象。

你可能想要这样的东西:

if(scoreCntr == 20)
{
    scoreCntr = 0;
}
scoreCntr = 0;

不是

scoreCntr.Equals(0);

可能是这样的

void matcher_GestureMatch(Gesture gesture)
{
    scoreProgBar.Maximum = 20;
    lblGestureMatch.Content = gesture.Name;
    if(scoreCntr == 20)
    {
        scoreCntr = 0;
    }
    else
    {
        scoreCntr++;
    }
    scoreProgBar.Value = scoreCntr;
    lblScoreCntr.Content = scoreCntr;
} 

**U可以试试这个:

        }**` if (progressBar1.Value == 100)
        {
            progressBar1.Value = 0;
        }**`