Отдельная перерисовка объектов WinForms c#
Столкнулся с такой проблемой, пытаюсь сделать свой контрол. Суть его, выводить какое-либо значение на такой "своеобразный" манометр, тело которого я просто нашел в интернете.
.
Далее я хочу рисовать на нем стрелку, в зависимости от входящего значения. Столкнулся с проблемой на стадии анимации (когда от одного значение стрелка передвигается к другому), как не пробовал (System.Drawing.Drawing2D.SmoothingMode.HighQuality,
SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.OptimizedDoubleBuffer | ControlStyles.ResizeRedraw | ControlStyles.SupportsTransparentBackColor | ControlStyles.UserPaint, true);
DoubleBuffered = true) - картинка мерцает, из-за того(как я понял), что я постоянно перерисовываю тело прибора вместе со стрелкой во время анимации. Подумал, что хорошо будет сделать стрелку как отдельный объект и перерисовывать только её. Раньше я рисовал стрелку с помощью Graphics.DrawLine, теперь думаю сделать картинку как стрелку, и вертеть уже саму картинку или... Подскажите, как лучше это реализовать?:) (заранее скажу, что не хочу использовать стандартных контролов типа pictureBox'a, так как хочу реализовать данный контрол как отдельный класс, а в дальнейшем в библиотеку)