RichEditControl.MeasureSingleLineString(String, CharacterPropertiesBase) Method
Calculates the length of a formatted string.
Namespace: DevExpress.XtraRichEdit
Assembly: DevExpress.XtraRichEdit.v20.2.dll
NuGet Package: DevExpress.Win.RichEdit
Declaration
Parameters
Name | Type | Description |
---|---|---|
text | String | A string to measure. |
properties | CharacterPropertiesBase | A CharacterPropertiesBase interface specifying formatting used to display a string. |
Returns
Type | Description |
---|---|
SizeF | A SizeF object that is the rectangle required to display a string. |
Remarks
The following code snippet illustrates the use of a MeasureSingleLineString method, to calculate required size of a tab stop. Tab stop position is specified by the TabInfo.Position property and measured in units of a current document (Document.Unit value). To provide a uniform tab stops for a certain number of characters, we specify a monospaced font as the default document font and measure the length of a string containing required number of characters.
using DevExpress.XtraRichEdit.API.Native;
using DevExpress.XtraRichEdit.Utils;
using DevExpress.Office.Utils;
Document document = richEditControl1.Document;
SizeF tabSize = richEditControl1.MeasureSingleLineString(new String(' ', 4), document.DefaultCharacterProperties);
TabInfoCollection tabs = document.Paragraphs[0].BeginUpdateTabs(true);
try {
for (int i = 1; i <= 30; i++) {
DevExpress.XtraRichEdit.API.Native.TabInfo tab = new DevExpress.XtraRichEdit.API.Native.TabInfo();
tab.Position = i * tabSize.Width;
tabs.Add(tab);
}
}
finally {
document.Paragraphs[0].EndUpdateTabs(tabs);
}
Related GitHub Examples
The following code snippet (auto-collected from DevExpress Examples) contains a reference to the MeasureSingleLineString(String, CharacterPropertiesBase) method.
Note
The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.