为什么我的c#标签文本值没有更新?

本文关键字:更新 文本 我的 标签 为什么 | 更新日期: 2023-09-27 18:06:41

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

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

在Visual Studio中是否有一个标签属性可以阻止更改被渲染?

是负责更新标签的代码片段。文本值

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

为什么我的c#标签文本值没有更新?

不知道更多关于你的形式的结构,以及你是如何调用你的代码,很难给你任何其他的建议,除了尝试调用lblSesameSeedTotal.Refresh()后设置文本。

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

这么做的原因有很多;重绘是一项代价高昂的操作,因此,通常情况下,如果您在窗体的其他地方处理事件,则可能不会更新某些控件。对于那些值倾向于保持不变的标签和类似控件来说尤其如此(例如,文本框的标签:Enter Name Here实际上不需要更改)。