GetTextExtent with TX Text Control .NET for Windows Forms
TX Text Control ActiveX contains a property which returns the extension of the complete text in twips. This method is not directly supported in the .NET version of TX Text Control. The Lines collection has been implemented to replace this method and includes lots of additional functionality. The TextBounds property of the Line class gets the bounding rectangle of the text belonging to the line. We need the vertical distance between the upper left corner and the baseline of the last line to…

TX Text Control ActiveX contains a property which returns the extension of the complete text in twips. This method is not directly supported in the .NET version of TX Text Control. The Lines collection has been implemented to replace this method and includes lots of additional functionality.
The TextBounds property of the Line class gets the bounding rectangle of the text belonging to the line. We need the vertical distance between the upper left corner and the baseline of the last line to get the height of the complete text. Additionally, we need the longest line of the current document. This is done by checking the longest line in a loop.
Dim TextHeight As Long
Dim TextWidth As Long
TextHeight = TextControl1.Lines.Item(TextControl1.Lines.Count).TextBounds.Bottom
For Each line As TXTextControl.Line In TextControl1.Lines
Dim lineWidth As Long = TextControl1.Lines.Item(line.Number).TextBounds.Right
If TextWidth < lineWidth Then
TextWidth = lineWidth
End If
Next
Debug.WriteLine(TextHeight)
Debug.WriteLine(TextWidth)
Related Posts
Create a Table of Contents in Windows Forms using C#
This article explains how to create a table of contents in Windows Forms using the ribbon or programmatically. Creating a table of contents is required to organize large documents.
Two Ways to Restart Numbered Lists in TX Text Control
In TX Text Control, numbered lists are continued by default and need to be reset when required. There is more than one way if you want to restart numbered lists in a document. In this article, two…
Paste Special: The Easy Way to Implement
In an older sample, I showed how to implement a paste special functionality by accessing the clipboard directly using .NET functionality. In version 15.0, we implemented this functionality…
How to Remove All Section Breaks in a Document?
With version 14.0, we introduced document section breaks that allow you to have different page formats in the same document. Version 15.0 implements page columns that can be adjusted section-wise.…
Batch Printing: How to Print Documents in One Print Job
A typical requirement when printing loads of documents is managing the print jobs. A group of separate documents might be subsumed in a single print job. We just published a new sample in our…