no. u r not wrong.
i usually drawn line first then do drawstring
take a llok od my code in below:
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button5.Click
'local scope
Dim myGraphics As Graphics
Dim myPen As New Pen(Color:=Color.Blue, Width:=2)
Dim myPath As New System.Drawing.Drawing2D.GraphicsPath
Dim myPoints(2) As Point
Dim myRegion As Region
Dim i As Short
'define a triangle
myPath.StartFigure()
myPoints(0) = New Point(x:=100, y:=20)
myPoints(1) = New Point(x:=50, y:=100)
myPoints(2) = New Point(x:=150, y:=100)
'add triangle to the path
myPath.AddPolygon(points:=myPoints)
'create a region based on the path
myRegion = New Region(path:=myPath)
'return the current form as a drawing surface
myGraphics = Graphics.FromHwnd(hwnd:=ActiveForm().Handle)
'draw the region's outline to the screen
myGraphics.DrawPath(Pen:=myPen, path:=myPath)
'set the clipping region
myGraphics.SetClip(Region:=myRegion, _
CombineMode:=Drawing.Drawing2D.CombineMode.Replace)
'draw the string multiple times
For i = 20 To 100 Step 20
'draw clipped text
myGraphics.DrawString(s:="VISUALBASIC", _
Font:=New Font(familyName:="Arial", emSize:=18, _
style:=FontStyle.Regular, _
unit:=GraphicsUnit.Pixel), _
Brush:=New SolidBrush(Color:=Color.Red), _
x:=50, y:=i)
Next
End Sub