The progressbar itself doesn't have a caption property and since a Label is a windowless control you can't put one infront of the progressbar either. The two solutions I can think of is to either subclass the progressbar and check for the WM_PAINT message and then do the drawing of the progress yourself including a text caption. However that is somewhat involved and it would be a lot easier to simply replace the progressbar with a picture box on which you draw the progress.
VB Code:
Public Sub DrawProgress( _
pic As PictureBox, _
ByVal sngPercent As Single, _
Optional ByVal nColor As Long = vbBlue)
Dim sText As String
If sngPercent >= 1 Then
sngPercent = sngPercent / 100
End If
pic.Cls
pic.Line (0, 0)-(pic.ScaleWidth * sngPercent, pic.ScaleHeight), nColor, BF
sText = CInt(sngPercent * 100) & "%"
pic.CurrentX = (pic.ScaleWidth - pic.TextWidth(sText)) \ 2
pic.CurrentY = (pic.ScaleHeight - pic.TextHeight(sText)) \ 2
pic.Print sText
End Sub
You can use the above Sub to turn any picture box into a progressbar. Simply pass the picturebox and the percentage as arguments. You may optionally also pass the color the progressbar should have as an argument. The text will be colored using the ForeColor of the PictureBox.