C# 如何在指定时阻止此代码循环。还有如何显示finish按钮 publicsvoid游戏() { btnCheck.Visible=true; btnNext.Visible=true; c=ran.Next(0,14); for(int i=0;i

C# 如何在指定时阻止此代码循环。还有如何显示finish按钮 publicsvoid游戏() { btnCheck.Visible=true; btnNext.Visible=true; c=ran.Next(0,14); for(int i=0;i,c#,visual-studio,loops,C#,Visual Studio,Loops,即使将global.choices指定为1,也会不断向我询问这些问题。完成按钮不可见。我希望它在询问指定数量的问题时显示出来。您的代码无法工作,因为您从0循环到GlobalChoice-1。 但是 退出循环并删除if条件。如果要显示btnfinsh按钮,可以修改for语句 如以下代码所示: btnFinish.Visible = true; 用于(int i=0;ii将始终比Global.choice小1,根据for循环逻辑,因此您正在寻找i==Global.choice-1?嵌套if中的代码

即使将global.choices指定为1,也会不断向我询问这些问题。完成按钮不可见。我希望它在询问指定数量的问题时显示出来。

您的代码无法工作,因为您从0循环到GlobalChoice-1。 但是


退出循环并删除if条件。

如果要显示btnfinsh按钮,可以修改for语句

如以下代码所示:

btnFinish.Visible = true;

用于(int i=0;i
i
将始终比
Global.choice
小1,根据
for
循环逻辑,因此您正在寻找
i==Global.choice-1
?嵌套if中的代码是不可访问的。除非
getcolor
正在更改
Global.choice
。不要这样做。不要使用任何global或类似全球的。这需要“远距离行动”而且它经常会咬你。此外,当输入在循环中可能发生变化时,将其用作循环限制很少是正确的。你需要从一开始就重新思考逻辑。这是一个完美的调试问题,将
全局设置为1。选择
并逐步完成循环,看看
i
如何变化,它需要什么值,以及在什么情况下变化此条件的哪个时间点:
i
被评估,然后进行更大的重组。用户输入表单需要向父表单提供选择(作为父表单读取的属性),而父表单反过来向将使用这些选择的对象(例如运行此循环的对象)提供这些值。
btnFinish.Visible = true;
            for (int i = 0; i <=choice; i++) //  Change i< choice to i<=choice
            {
                //colour = englishColour[c];

                //getColour();

                if (i == choice)
                {

                    btnfinish.Visible = true;
                }
            }