Formattare stringa StringFormat()






Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.SetStyle(ControlStyles.AllPaintingInWmPaint Or ControlStyles.ResizeRedraw, True)
End Sub

Private Const SAMPLE_TEXT As String = _
"&Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Praesent et nunc at erat commodo placerat. Suspendisse semper. In pharetra, ante eget cursus hendrerit, leo diam congue tellus, sit amet aliquam risus purus sit amet enim. Aenean ac nulla eget pede porta malesuada. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Fusce tincidunt, nisi eu placerat eleifend, urna ligula rhoncus nulla, et ultrices velit tortor in lectus. Suspendisse potenti. Maecenas ipsum augue, consectetuer at, tincidunt ut, mollis ac, felis. Sed eros massa, porttitor sed, blandit pulvinar, congue id, elit. Sed nec lorem. Aliquam sit amet enim id ligula molestie sagittis. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Aliquam erat volutpat. Fusce dui mauris, rutrum ut, auctor ultricies, lobortis et, justo." & vbCrLf & _
"Suspendisse scelerisque tellus ac leo. Nullam ac ipsum quis risus vestibulum volutpat. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Fusce tortor diam, dapibus sed, lacinia eu, porta commodo, purus. Nunc nulla metus, cursus id, sollicitudin quis, pellentesque eu, est. Vestibulum pellentesque eros. Donec fringilla. Vestibulum bibendum. Curabitur lobortis orci quis lectus. In sed ligula vel felis ullamcorper pellentesque. Duis est. Suspendisse potenti. Donec convallis libero a ante. Pellentesque fringilla ipsum at arcu. Aliquam molestie, elit in imperdiet mollis, lorem magna imperdiet felis, eu gravida neque sapien at augue. Maecenas ac magna eget neque rhoncus fermentum. Nulla suscipit, lacus at rhoncus pretium, metus risus blandit turpis, nec dignissim sem risus eget dui. Nulla facilisi. In neque odio, eleifend eu, convallis et, euismod vel, nulla. Maecenas sapien mauris, aliquet a, venenatis at, auctor vitae, enim." & vbCrLf & _
"In hac habitasse platea dictumst. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec tempor augue quis leo. Suspendisse potenti. Suspendisse potenti. Etiam tortor purus, accumsan non, consequat id, elementum id, sem. Fusce vehicula dignissim lacus. Aliquam sollicitudin elit vel urna. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Mauris nisi tellus, adipiscing sit amet, vestibulum et, accumsan eget, sapien. Sed in eros vel leo tempor pretium. Cras cursus lacus sed dui. Phasellus tempor elit ac augue. Aliquam erat volutpat. Pellentesque fringilla urna quis arcu. Praesent elementum dictum massa." & vbCrLf & _
"Suspendisse rutrum eros at metus. Proin eget mauris at turpis congue consequat. Nam nec nunc id ipsum tempus mollis. Proin a lorem. Suspendisse adipiscing neque nec turpis. Nullam pellentesque, tortor non commodo tristique, felis eros egestas tellus, id interdum massa lectus ac eros. In scelerisque. Vestibulum sagittis libero at lorem. Morbi accumsan egestas lorem. Curabitur sagittis est sit amet dolor. Aliquam accumsan elementum mi. Morbi sed massa. Morbi ut leo. Vivamus libero dui, ultricies egestas, lobortis in, congue sed, massa. Suspendisse potenti. Nunc facilisis dictum sapien. Quisque convallis urna nec neque dapibus auctor. Praesent lacinia." & vbCrLf & _
"Nulla facilisi. Nam elit. Morbi ac lacus eu urna pellentesque ultricies. Cras lacus. Vestibulum euismod ornare sapien. Nullam imperdiet libero eu tortor. Aenean congue. Aenean viverra dui vel ante. Nunc lorem eros, ultricies nec, aliquet eu, facilisis sed, quam. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus."

' Draw formatted text.

Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
e.Graphics.Clear(Me.BackColor)
e.Graphics.TextRenderingHint = Drawing.Text.TextRenderingHint.AntiAliasGridFit

' Make a margin rectangle.

Dim rect As New Rectangle(10, 10, Me.ClientSize.Width - 20, Me.ClientSize.Height - 20)

' Draw the text inside the rectangle.

Using the_font As New Font("Times New Roman", 20, _
FontStyle.Regular Or FontStyle.Italic, GraphicsUnit.Point)
Using sf As New StringFormat()
sf.Alignment = StringAlignment.Center
sf.FormatFlags = StringFormatFlags.LineLimit
sf.Trimming = StringTrimming.EllipsisWord
sf.HotkeyPrefix = Drawing.Text.HotkeyPrefix.Show

e.Graphics.DrawString(SAMPLE_TEXT, the_font, Brushes.Black, rect, sf)
e.Graphics.DrawRectangle(Pens.Blue, rect)
End Using
End Using
End Sub
End Class










( formattarestringastringformat.html )- by Paolo Puglisi - Modifica del 17/12/2023