Меняется дизайн кнопки при изменении кепшена

Добрый день!

На форме есть кнопка станадратного вида

В коде ей меняют Caption

if (IsActive) {
btnActive.Caption = "Деактивировать направление";
} else {
btnActive.Caption = "Активировать направление";
}

При изменении заголовка дизайн кнопки на форме меняется на секунду. Кнопка становится квадратной и серого цвета. А потом становится стандартной синей.
Получается эффект такого мерцания.

Подскажите, как это можно исправить?

Версия Terrasoft.Sales 3.3.2.47

Нравится

4 комментария

Здравствуйте, Светлана!

Действительно, проблема прорисовки интерфейса наблюдалась в старых сборках 3.3.2

Для устранения проблемы необходимо выполнить обновление сборки бинарных файлов в пределах текущей версии. Данное обновление бесплатное, и может быть предоставлено технической поддержкой по дополнительному обращению на support@terrasoft.ru

Анна, спасибо за ответ!
У нас еще отдельно стоит версия с бинарниками 3.3.2.222. Там эффект еще не исправлен.
Есть еще более поздние?

Здравствуйте, Светлана!

Самая новая сборка бинарных фалов для 3.3.2 - 254-я.

Уточните, пожалуйста, много ли функций возложено на данную конпку помимо описанного кода?

В случае, если система должна по нажатию на кнопку делать сложные пересчеты, перерисовка кнопки может запаздывать.

В этом случае для принудительной перерисовки элементов управления рекомендуется использовать следующую конструкцию:

 Self.BeginUpdate();
 try {
btnActive.Caption = "Деактивировать направление";
     System.ProcessMessages();
 } finally {
  Self.EndUpdate();
 }

Анна, спасибо!
Решение с Update помогло!

Показать все комментарии