Как повернуть Label?

240
25 апреля 2018, 04:03

Возможно в C# повернуть существующий label на 30°?

Answer 1

Проще всего выводить повернутый текст следующим образом.

Делаем это в событии Paint или методе OnPaint.

public class RotatedLabel : Label
{
    protected override void OnPaint(PaintEventArgs e)
    {
        //e.Graphics.TranslateTransform(20, 20);
        e.Graphics.RotateTransform(30);            
        e.Graphics.DrawString(Text, Font, Brushes.Black, 0, 0);
    }
}

В RotateTransform задаём угол.

В TranslateTransform задаём отступ от края контрола, чтобы повёрнутый текст весь уместился. Эти значения зависят от размера шрифта. Конечно, желательно их рассчитывать в зависимости от него.

Размер самого лейбла нужно увеличить, чтобы повёрнутый текст влез. AutoSize лучше отключить.

READ ALSO
Привязка объекта к нескольким окнам

Привязка объекта к нескольким окнам

Есть два окна, которые в DataContext получают один общий объект и отображают егоВ качестве объекта используется визуальный компонент System

215
Получение частоты звука с микрофона

Получение частоты звука с микрофона

Есть задача получать частоту звука с микрофона для дальнейших преобразований на C#Подобное уже делал на Python с numpy, но тут как то не клеится

208
C# WinAPI Чтение содержимого SysListView32

C# WinAPI Чтение содержимого SysListView32

Данный код предназначен для получения содержимого SysListView32Значения каждого элемента в каждом столбце

224
Как включить source-map для css в приложении create-react-app?

Как включить source-map для css в приложении create-react-app?

Переношу шаблон в CRAСтили ведут себя не вполне правильно

184