В моем приложении winforms у меня есть код, который необходимо выполнить после изменения текста. На этикетке есть текстовое событие со следующим кодом:
string value = lblText.Text;
int labelWidth = lblText.Width;
int controlWidth = groupPanel1.Width;
int difference = controlWidth - labelWidth;
lblText.Left = difference / 2;
Когда я устанавливаю точку останова на string value = lblText.Text;
, я вижу правильное значение. Но свойство width возвращает ширину предыдущего значения свойства text.
Например:
Первый раз: text = "Привет, мир!" ширина: 0
Второй раз: текст = "h" ширина: 60
В третий раз: text = "hi" ширина: 13
Как это возможно?