Как нарисовать количество блоков индикатора выполнения в VB.NET? - PullRequest
0 голосов
/ 27 ноября 2018

Прогрессбар имеет максимальное значение 10.

Поэтому мне нужно нарисовать десять блоков без цвета заливки перед выполнением хода.

enter image description here

Изменить: добавлен код

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 (), но он не работает.

1 Ответ

0 голосов
/ 27 ноября 2018

Есть несколько способов сделать это.Простейшим было бы создать прозрачное изображение блоков и поместить его поверх обычного индикатора выполнения.

Или вы можете создать массив текстовых полей и поиграть с их положением, границей и фоном, пока онисмотри как хочешь.

Более мощный способ создания графики - встроенный графический объект .net .Краткое введение здесь

...