按下第二个按钮时应用程序冻结

时间:2018-04-20 14:26:03

标签: c# winforms

我正在C#中创建一个Windows窗体应用程序 这是我遵循的课程。

现在我有一个

  

无法计算表达式,因为本机帧位于调用堆栈的顶部。

错误。我有10个按钮,有一个for循环连接到它。该应用程序有10个按钮,每个按钮显示到Label2的数学表(1到10)。第一个按钮就像一个魅力。其他按钮给我表达错误。

这里我有前两个按钮的代码:

private void button1_Click(object sender, EventArgs e)
    {
        // Clear Label before execution
        label2.Text = "";

        // Loop
        for (int n = 0; n < 11; n++)
        {
            int nn = n * 1;
            label2.Text += "1x" + n + "=" + nn + "\r\n";                
        }

    }

    private void button2_Click(object sender, EventArgs e)
    {
       // Clear Label before execution
        label2.Text = "";

        // Loop
        for (int n = 0; n < 11; n = n++)
        {
            int nn = n * 2;
            label2.Text = "2x" + n + "=" + nn + "\r\n";                                             
        }            

    }

你能帮我解决这个问题吗?我已经阅读了线程处理等等,但我还没有进入C#。

编辑:让它与循环中的更改一起使用,

for (int n = 0; n < 11; n = n++)

for (int n = 0; n < 11; n++)

3 个答案:

答案 0 :(得分:2)

Yepp ...... n = n++什么也没做。

它解释了here

答案 1 :(得分:1)

在第二轮中将n = n++更改为n++

答案 2 :(得分:0)

首先,你的循环应该n++而不是n = n++
其次,你没有标注你的标签文字。

应该是

label2.Text += ...

代替

label2.Text = ...