In order to have full control of the text being displayed, you're going
to have to do custom drawing on a panel, usercontrol, or form. Below
is an example of doing custom drawing on a form meeting your
requirements.
Regards,
Colin Neller
www.colinneller.com/blog
----
Public Class Form1
Private s As String
Private Sub Form1_Load(ByVa l sender As System.Object, _
ByVal e As System.EventArg s) Handles MyBase.Load
Dim sb As New System.Text.Str ingBuilder
For i As Integer = 0 To 1000
sb.Append("This text repeats a lot. ")
Next
s = sb.ToString
With Me
.SetStyle(Contr olStyles.AllPai ntingInWmPaint, True)
.SetStyle(Contr olStyles.Resize Redraw, True)
.SetStyle(Contr olStyles.Optimi zedDoubleBuffer , True)
End With
End Sub
Private Sub Form1_Paint(ByV al sender As Object, _
ByVal e As System.Windows. Forms.PaintEven tArgs) Handles Me.Paint
Dim w As Single = CSng(Me.Width * 0.4)
Dim h As Single = CSng(Me.Height * 0.7)
Using format As New StringFormat, _
brush As New SolidBrush(Me.F oreColor)
With format
.Alignment = StringAlignment .Far
.FormatFlags = StringFormatFla gs.LineLimit
.LineAlignment = StringAlignment .Center
.Trimming = StringTrimming. EllipsisWord
End With
Dim r As New RectangleF(0, 0, w, h)
With e.Graphics
.DrawString(s, Me.Font, brush, r, format)
End With
End Using
End Sub
End Class