Member 10353863 Ответов: 2

Нужно рисовать и показывать пользователю постоянно меняющийся угол.


как нарисовать непрерывно меняющийся угол в пользовательском элементе управления в C# winform?

Что я уже пробовал:

нужно нарисовать непрерывно меняющийся угол в C# winform.
У меня будет опорный угол будет ,но по отношению к этому мне нужно постоянно рисовать разницу углов и показывать пользователю.

ZurdoDev

Где ты застрял?

0x01AA

Нарисуйте круг от 0 до 360 градусов.... ?

2 Ответов

Рейтинг:
9

lmoelleb

Первый шаг-убедиться, что ваш элемент управления может правильно нарисовать текущий угол. Как только это будет сделано, вы должны будете проинструктировать его регулярно рисовать себя.

Вы можете использовать этот вызов, чтобы получить контроль, чтобы нарисовать еще раз:

Контроль.Метод Invalidate (System.Окна.Формы) | Microsoft Docs[^]

Вы вызываете его из таймера - или даже вызываете его из самого метода paint, чтобы немедленно вызвать перекраску. Поэкспериментируйте немного, чтобы найти оптимальный баланс между воздействием на производительность и плавной анимацией.

Если вы не можете получить желаемую производительность, вам, возможно, придется рассмотреть что - то вроде WPF или даже DirectX-но если у вас нет очень строгих требований или сложного рендеринга, вы, вероятно, не возражаете против WinForm.


Рейтинг:
17

Gerry Schmitz

Используйте WPF, RotateTransform и раскадровку.

Раскадровка с RotateTransform[^]