Если у вас есть метка и вы хотите контролировать вертикальную подгонку, вы можете сделать следующее:
MyLabel.MaximumSize = new Size(MyLabel.Width, 0)
MyLabel.Height = MyLabel.PreferredHeight
MyLabel.MaximumSize = new Size(0, 0)
Это полезно, например, если у вас есть метка в контейнере, который может бытьизменен.В этом случае вы можете установить свойство Anchor
так, чтобы размер метки изменялся по горизонтали, но не по вертикали, а в случае изменения размера вы можете подогнать высоту, используя метод, описанный выше.для интерпретации как новое событие изменения размера вы можете использовать логическое значение:
bool _inVerticalFit = false;
А в событии изменения размера:
if (_inVerticalFit) return;
_inVerticalFit = true;
MyLabel.MaximumSize = new Size(MyLabel.Width, 0)
MyLabel.Height = MyLabel.PreferredHeight
MyLabel.MaximumSize = new Size(0, 0)
_inVerticalFit = false;