Progressbar имеет максимум 10.
Поэтому мне нужно нарисовать десять блоков без цвета заливки, прежде чем запускать прогресс.
Обновлено: добавлен код
Public Class MyProgressBar
Inherits ProgressBar
Public Sub New()
Me.ForeColor = Color.Red
End Sub
Protected Overrides Sub OnPaint(e As PaintEventArgs)
MyBase.OnPaint(e)
For i as integer = 1 to 10
Dim g As Graphics = e.Graphics
Dim widthScale As Integer = Me.Width/10
g.DrawRectangle(Pens,Me.Left+(i*widthScale ),Me.Top, Me.Width / 10, Me.Height)
End For
End Sub
End Class
Я пытаюсь переопределить OnPaint (), но это не работает.
Я пытаюсь переопределить OnPaint (). Но это не работает.





Есть несколько способов сделать это. Самым простым было бы создать прозрачное изображение ящиков и поместить его поверх обычного индикатора выполнения.
Или вы можете создать массив текстовых полей и поиграть с их положением, рамкой и фоном, пока они не будут выглядеть так, как вы хотите.
Более мощный способ создания графики - это встроенный .net графический объект. Есть краткое введение здесь
Это комментарий, а не ответ на вопрос, на который в настоящее время нет ответа.
А в чем твоя проблема? Что ты пробовал? Где твой код?