所以我希望button3计算'f'并将其显示在label21中,但它没有 似乎有效
private void button3_Click(object sender, EventArgs e)
{
button3.Click += new EventHandler(this.button3_Click);
decimal b, f = 1;
b = numericUpDown6.Value;
while (f > 1)
{
f *= b--;
label21.Text = f.ToString();
}
答案 0 :(得分:1)
您的while循环正在检查(f> 1),并且您初始化了f = 1,因此它将永远不会进入while循环。
您需要检查(b> 1)。
在for循环中也没有必要分配标签,因为GUI更新只会在方法退出后发生,
private void button3_Click(object sender, EventArgs e)
{
decimal b, f = 1;
b = numericUpDown6.Value;
while (b > 1)
{
f *= b--;
}
label21.Text = f.ToString();
}