2013-04-01 2 views
8

У меня установлена ​​программа C#, которая должна принимать входной сигнал количества, если флажок установлен. Затем он умножает количество по цене и обновляет соответствующий ярлык с общей стоимостью.Почему мое текстовое значение метки на C# не обновляется?

Однако, когда я запускаю программу, она не обновляет метку. Я запустил отладчик, и значение .text в метке в системе верное, но оно по-прежнему не отображается в реальной форме.

Есть ли свойство метки в Visual Studio, которое предотвращает визуализацию изменений?

вот фрагмент кода отвечает за обновление значения label.Text

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

Убедитесь, что вы еще не сбросили значение 'lblSesameSeedTotal.Text' в своем коде, а также какое приложение вы нацеливаете на winfomr, wpf? Интернет? – Habib

+0

@Habib winform, и я не могу найти код, переписывающий текст :( – jrounsav

+2

В дополнение к полезному совету @ Habib вызывает вызов 'lblSesameSeedTotal.Refresh()' после установки справки по текстовому значению? – dash

ответ

12

Не зная больше о структуре вашей формы, и как вы вызываете код, это трудно дать вам какие-либо другие советы других чем пытаться вызвать lblSesameSeedTotal.Refresh() после установки текста.

Calling Refresh (MSDN Control.Refresh) эффективно аннулирует контроль и заставляет среду выполнения перерисовывать элемент управления, что, конечно же, включает в себя обновление его текста.

Существует множество причин, по которым вам, возможно, придется это сделать; перерисовка - дорогостоящая операция, поэтому, в общем случае, если вы обрабатываете событие в другом месте формы, оно может не обновлять определенные элементы управления. Это особенно справедливо для меток и аналогичных элементов управления, значения которых, как правило, остаются постоянными (например, метка для текстового поля с текстом: Введите имя здесь не нужно менять).

Смежные вопросы