Я реализовал UserControl
с текстом Label
. Я хочу отрегулировать высоту элемента управления при изменении его ширины, чтобы весь текст был виден постоянно, как показано на рисунке:
Я настроил WinForms Label
для вычисления TextBounds
метки (необходимый прямоугольник для текста), и я вызываю событие с именем TextBoundsChanged
, которое указывает, что размер прямоугольника текста изменился (обратите внимание, что это событие генерируется всегда, пока размер метки изменяется).
Это работает: я получаю событие, затем я обновляю свою высоту элемента управления, но высота элемента управления действительно не изменяется !!
Я подозреваю, что событие TextBoundsChanged
возникает при изменении размера UserControl
. Размер UserControl
также изменяется, поэтому я боюсь, что WinForms игнорирует обновление высоты элемента управления при изменении размера .
Я прав? Кто-то знает, как обойти эту проблему?
Заранее спасибо.
РЕДАКТИРОВАТЬ : пользовательский элемент управления не только показывает текст. Это только упрощенный образец. Таким образом, мой пользовательский элемент управления должен вертикально увеличиваться при уменьшении ширины, чтобы показать весь текст в метке. метка не является пользовательской меткой winforms, потому что она отображает содержимое HTML. Кроме того, я использую .NET1, поэтому свойство word wrap недоступно для меня