为什么赢了';我的C#标签文本值是否更新?

为什么赢了';我的C#标签文本值是否更新?,c#,winforms,visual-studio-2012,C#,Winforms,Visual Studio 2012,我设置了一个c#程序,如果选中复选框,它应该接受数量输入。然后,它将数量乘以价格,并用总成本更新相应的标签 但是,当我运行程序时,它不会更新标签。我运行了调试器,系统中标签的.text值是正确的,但它仍然没有出现在实际表单上 Visual Studio中是否有阻止渲染更改的标签属性 下面是负责更新label.Text值的代码段 if (chkSesame.Checked) { intSesameQty = Convert.ToInt32(txtSesameQty.Tex

我设置了一个c#程序,如果选中复选框,它应该接受数量输入。然后,它将数量乘以价格,并用总成本更新相应的标签

但是,当我运行程序时,它不会更新标签。我运行了调试器,系统中标签的.text值是正确的,但它仍然没有出现在实际表单上

Visual Studio中是否有阻止渲染更改的标签属性

下面是负责更新label.Text值的代码段

 if (chkSesame.Checked)
    {
        intSesameQty = Convert.ToInt32(txtSesameQty.Text);
        decSesameTotal = intSesameQty * decBAGEL_PRICE;
        lblSesameSeedTotal.Text = decSesameTotal.ToString("c");
    }

如果不了解表单的结构以及如何调用代码,除了在设置文本后尝试调用
lblSesameSeedTotal.Refresh()
之外,很难给出任何其他建议

调用Refresh(msdnlink)有效地使控件无效,并强制运行时重新绘制控件,当然,这包括更新其文本


有很多原因让你不得不这么做;重绘是一项昂贵的操作,因此,一般来说,如果您在表单的其他位置处理事件,它可能不会更新某些控件。这对于标签和类似控件尤其如此,它们的值往往保持不变(例如,文本框的标签:此处输入名称实际上不需要更改)

请确保您没有在代码后面重置
lblsesamesedtotal.Text的值,以及您针对winfomr、wpf的应用程序类型?web?@Habib winform,我找不到任何代码覆盖文本:(除了@Habib的有用建议外,在设置文本值后调用
lblSesameSeedTotal.Refresh()
是否有帮助?@dash Refresh完全纠正了这个问题!非常感谢你们使用任何更新面板?