# What's New in TX Text Control .NET for Windows Forms 30.0

> TX Text Control .NET for Windows Forms 30.0: MS Word-compatible comments with a sidebar and dialog, new character attributes, SVG images and form field merge.

- **Product:** TX Text Control .NET for Windows Forms
- **Section:** Documentation
- **Kind:** Topic
- **Path:** TX Text Control .NET for Windows Forms > What's New > What's New in TX Text Control .NET for Windows Forms 30.0
- **5970 words**
- **Web URL:** https://docs.textcontrol.com/tx-text-control-dotnet-winforms/whats-new/3000/
- **LLMs URL:** https://docs.textcontrol.com/tx-text-control-dotnet-winforms/whats-new/3000/llms.txt
- **LLMs-Full URL:** https://docs.textcontrol.com/tx-text-control-dotnet-winforms/whats-new/3000/llms-full.txt

---

Version 30.0 gave TX Text Control .NET for Windows Forms comments that MS Word reads, together with a sidebar, a ribbon group and a dialog box to work with them. Its other additions over version 29.0 reach from typographic character attributes and SVG images to a mail merge that fills form fields.

Version 30.0 was released in November 2021, together with TX Text Control .NET Server, TX Text Control .NET for WPF, TX Text Control ActiveX and TX Spell .NET 9.0. Version 29.0 was sold as TX Text Control X19; from version 30.0 on, the product is named after its version number. The current version is [Version 34.0](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/whats-new/3400/llms-full.txt), and the service packs of 30.0 are listed on [Service Packs](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/whats-new/service-packs/llms-full.txt).

### Version 30.0 at a Glance

| Area | What is new |
|---|---|
| Comments | Comments and replies compatible with MS Word, with events, a comments sidebar, a ribbon group and a comments dialog |
| Dialog boxes | Modeless dialog boxes for comments and tracked changes, new character attributes in the font and style dialogs |
| Formatting | Automatic sub- and superscript, capitals and small capitals, character spacing and scaling, the culture of a style |
| Images and frames | SVG images, colored single or double borders for text frames |
| Mail merge | Merging data into form fields |

### Comments

A comment is a note attached to a piece of text. Users select text and open a comment input control from the context menu; the comment is added when they close the control with a mouse click or the Enter key. The commented text is highlighted in a color that depends on the user. The context menu of a comment changes or removes it, or adds a reply.

- **Comments and replies.** All comments of a text part are [CommentedText](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/commentedtext/llms-full.txt) objects in a [CommentCollection](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/commentcollection/llms-full.txt). Each one has the [Comment](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/commentedtext/comment-property/llms-full.txt) itself, a [CreationTime](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/commentedtext/creationtime-property/llms-full.txt) and a [UserName](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/commentedtext/username-property/llms-full.txt). A reply is linked to its comment through [Replies](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/commentedtext/replies-property/llms-full.txt) and [RepliedComment](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/commentedtext/repliedcomment-property/llms-full.txt). When you remove a comment, its replies are removed as well.
- **Where comments are.** [TextControl.Comments](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/textcontrol/comments-property/llms-full.txt) contains the comments of the text part that has the input focus. Headers, footers and text frames have their own collections: [HeaderFooter.Comments](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/headerfooter/comments-property/llms-full.txt), [TextFrame.Comments](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/textframe/comments-property/llms-full.txt) and [IFormattedText.Comments](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/iformattedtext/comments-property/llms-full.txt).
- **Add comments.** [CommentCollection.Add](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/commentcollection/add-method/llms-full.txt) without a parameter opens the comment input control for the user. With a `CommentedText` object, it adds a prepared comment. Both return a [CommentCollection.AddResult](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/commentcollection/addresult-enumeration/llms-full.txt) value.
- **Work with a comment.** [EditComment](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/commentedtext/editcomment-method/llms-full.txt) and [ReplyToComment](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/commentedtext/replytocomment-method/llms-full.txt) open the input control for the user, and [Select](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/commentedtext/select-method/llms-full.txt) and [ScrollTo](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/commentedtext/scrollto-method/llms-full.txt) select the commented text and scroll it into view.
- **Number, color and content.** [Number](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/commentedtext/number-property/llms-full.txt) is the number of a comment in the text flow, starting at 1 for the first comment of the document. The static [DefaultHighlightColor](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/commentedtext/defaulthighlightcolor-property/llms-full.txt) is the highlight color used when the author is unknown; comments of the current user are highlighted in red. [Save](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/commentedtext/save-method/llms-full.txt) saves the commented text to a byte array or a string in the format you pass.
- **Authors.** A new comment gets the first name of [TextControl.UserNames](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/textcontrol/usernames-property/llms-full.txt) as its author. If the list is empty, the author is unknown.
- **Highlighting.** [TextControl.CommentHighlightMode](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/textcontrol/commenthighlightmode-property/llms-full.txt) sets whether commented text is highlighted when it contains the input position (the default), always or never. [TextControl.EditableRegionHighlightMode](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/textcontrol/editableregionhighlightmode-property/llms-full.txt) does the same for editable regions.
- **File formats.** Comments are saved and loaded with the TX Text Control format, RTF, DOC and DOCX.
- **Tracked changes.** A comment can be attached to a tracked change. It is removed when the change is accepted or rejected.
- **Events.** `TextControl` raises six comment events, when a comment is created, deleted or changed, when the input position enters or leaves commented text and when a comment is activated or deactivated. [ServerTextControl](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/servertextcontrol/llms-full.txt) has the comment collection and the events `CommentCreated` and `CommentDeleted` as well.

[Comments](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/document-editor/comments/llms-full.txt) shows how to add, answer, edit and remove comments in code and how to handle their events. The blog article [Sneak Peek 30.0: MS Word Compatible Comments](https://www.textcontrol.com/blog/2021/11/16/version-30-ms-word-compatible-comments/) shows the comments in the user interface.

### Comments in the User Interface

- **Comments sidebar.** A [Sidebar](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol-windows-forms/sidebar/llms-full.txt) lists the comments of the document when you connect it to the ribbon's proofing tab with [RibbonProofingTab.CommentsSidebar](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol-windows-forms-ribbon/ribbonproofingtab/commentssidebar-property/llms-full.txt) for a vertical sidebar or [CommentsHorizontalSidebar](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol-windows-forms-ribbon/ribbonproofingtab/commentshorizontalsidebar-property/llms-full.txt) for a horizontal one. Without the ribbon, set [Sidebar.ContentLayout](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol-windows-forms/sidebar/contentlayout-property/llms-full.txt) to `SidebarContentLayout.Comments` and connect the sidebar with [Sidebar.TextControl](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol-windows-forms/sidebar/textcontrol-property/llms-full.txt). See [Sidebar](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/overview/components/sidebar/llms-full.txt).
- **Ribbon group.** The **Proofing** tab has a group that adds, deletes, edits and navigates comments, shows them and opens the comments sidebar. Its items are values of [RibbonProofingTab.RibbonItem](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol-windows-forms-ribbon/ribbonproofingtab/ribbonitem-enumeration/llms-full.txt), such as `TXITEM_AddComment` and `TXITEM_NextComment`.
- **Comments dialog.** [CommentsDialog](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/commentsdialog/llms-full.txt) is a modeless dialog box that lists all comments, in which users delete, reply to or edit them. [CommentsDialog.FindItem](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/commentsdialog/finditem-method/llms-full.txt) returns the control of the dialog box that a [CommentsDialog.DialogItem](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/commentsdialog/dialogitem-enumeration/llms-full.txt) value identifies.
- **Tracked changes dialog.** [TrackedChangesDialog](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/trackedchangesdialog/llms-full.txt) is a modeless dialog box that lists all tracked changes, in which users accept or reject them. [TrackedChangesDialog.FindItem](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/trackedchangesdialog/finditem-method/llms-full.txt) returns one of its controls by a [TrackedChangesDialog.DialogItem](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/trackedchangesdialog/dialogitem-enumeration/llms-full.txt) value. See [Track Changes](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/document-editor/track-changes/llms-full.txt).

### Character Attributes and Styles

Version 30.0 adds character attributes for typographic details such as diagonal fractions and ordinal indicators. The font dialog shows them on a new **Position and Effects** tab.

- **Automatic sub- and superscript.** [Selection.AutoBaseline](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/selection/autobaseline-property/llms-full.txt) scales the font and moves the text above or below the baseline, with the values the font defines. If the font defines none, the text is scaled to 50% and moved 40% above or 15% below the baseline. Besides `Superscript` and `Subscript`, the value `SuperscriptUpperEdge` doesn't extend above capital letters, and `SubscriptBaseline` scales the text without moving it below the baseline, for example for the numerator and denominator of a diagonal fraction.
- **Capitals.** [Selection.Capitals](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/selection/capitals-property/llms-full.txt) shows lowercase letters as capitals of the same size (`Capitals`) or as smaller capitals: `PetiteCapitals` have the height of a lowercase x, and `SmallCapitals` are 10% higher.
- **Spacing and scaling.** [Selection.CharacterSpacing](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/selection/characterspacing-property/llms-full.txt) adds a fixed value in twips to each character; a negative value reduces the spacing. [Selection.CharacterScaling](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/selection/characterscaling-property/llms-full.txt) sets the character width in percent of the average character width.
- **Change the capitalization.** [Selection.ChangeCapitalization](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/selection/changecapitalization-method/llms-full.txt) converts the selected text with a [CapitalizationSettings](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/capitalizationsettings/enumeration/llms-full.txt) value: to upper or lower case, each word or sentence capitalized, or the case toggled.
- **Formatting styles.** The new attributes are also properties of [FormattingStyle](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/formattingstyle/llms-full.txt), and all text filters load and save them. [FormattingStyle.Culture](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/formattingstyle/culture-property/llms-full.txt) sets the language of a character or paragraph style, which is used for spell checking and hyphenation; `null` means the neutral culture. The formatting style dialog shows the new attributes and the culture.

The blog article [Sneak Peek Version 30.0: Extended Character Attributes](https://www.textcontrol.com/blog/2021/09/29/sneak-peek-version-30-extended-character-attributes/) shows examples of each attribute. See also [Text and Paragraph Formatting](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/document-editor/formatting/llms-full.txt).

### SVG Images

Documents can contain images in the Scalable Vector Graphics format (SVG), with all the formatting options of other images. When a document is saved as PDF, SVG images are converted to PDF vector graphics.

The SVG support is based on W3C SVG 1.1 (Second Edition). References to external images or style sheets, interactivity and animation, advanced text transformations, patterns, masking, compositing and filter effects aren't supported. [Supported File Formats](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/overview/file-formats/#images) lists all image formats, and the blog article [TX Text Control 30.0 Preview: Inserting SVG Images](https://www.textcontrol.com/blog/2021/07/13/text-control-30-preview-inserting-svg-images/) inserts SVG images in code.

### Text Frames

The border of a text frame can have a color, set with [TextFrame.BorderColor](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/textframe/bordercolor-property/llms-full.txt), and can be a single or double line, set with [TextFrame.BorderStyle](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/textframe/borderstyle-property/llms-full.txt) and the values of [FrameStyle](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/framestyle/enumeration/llms-full.txt). Users set both in the text frame dialog, which [TextFrameAttributesDialog](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/textcontrol/textframeattributesdialog-method/llms-full.txt) opens, and on the **Frame Formatting** tab of the ribbon, the [RibbonFrameLayoutTab](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol-windows-forms-ribbon/ribbonframelayouttab/llms-full.txt).

The text frame dialog and the ribbon group of the **Frame Formatting** tab also gained controls for the other settings of a frame's appearance, which the API already had: the background color ([BackColor](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/textframe/backcolor-property/llms-full.txt)), the transparency ([Transparency](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/textframe/transparency-property/llms-full.txt)), the width of the border line ([BorderWidth](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/textframe/borderwidth-property/llms-full.txt)) and the distances between the border and the text ([InternalMargins](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/textframe/internalmargins-property/llms-full.txt)).

### Mail Merge

[MailMerge](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol-documentserver/mailmerge/llms-full.txt) creates documents from a template and data. In version 30.0, it can merge data into form fields, the fields that users fill out in a document form.

- **Form field merge type.** [MailMerge.FormFieldMergeType](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol-documentserver/mailmerge/formfieldmergetype-property/llms-full.txt) decides what happens to form fields. With `None`, the default, they aren't merged. With `Preselect`, their content is preselected with the data, and the document remains a form. With `Replace`, they are replaced with the data, and empty fields are removed according to [RemoveEmptyFields](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol-documentserver/mailmerge/removeemptyfields-property/llms-full.txt).
- **FormFieldMerged event.** [FormFieldMerged](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol-documentserver/mailmerge/formfieldmerged-event/llms-full.txt) occurs when a form field has been merged. Its [FormFieldMergedEventArgs](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol-documentserver/mailmerge-formfieldmergedeventargs/llms-full.txt) contain the form field, the data row, whether the field has been merged and, if the field is in a merge block or a table, the block and the table cell.
- **Inserted merge blocks.** [MergeBlockSettings.AddResult](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol-documentserver-datasources/mergeblocksettings/addresult-property/llms-full.txt) tells whether a merge block has been inserted, and [InsertMergeBlockDialog.AddResult](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol-documentserver-windows-forms/insertmergeblockdialog/addresult-property/llms-full.txt) does the same for the dialog box in which users insert one.

Merge fields and form fields can be merged in the same run. The blog article [Merging Form Fields using the MailMerge Class](https://www.textcontrol.com/blog/2022/02/21/merging-form-fields-using-the-mailmerge-class/) shows both merge types.

### New Classes and Members

The What's New documentation of version 30.0 lists these classes, properties, methods and events as new in TX Text Control .NET for Windows Forms. They are grouped by class, and each name leads to its reference page. The list of the documentation also names members of `Selection` that existed before version 30.0, such as `Bold`, `FontName` and `Text`, and they are left out here.

- [CommentCollection](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/commentcollection/llms-full.txt) (new class): [Add](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/commentcollection/add-method/llms-full.txt), [CopyTo](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/commentcollection/copyto-method/llms-full.txt), [Count](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/commentcollection/count-property/llms-full.txt), [GetEnumerator](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/commentcollection/getenumerator-method/llms-full.txt), [GetItem](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/commentcollection/getitem-method/llms-full.txt), [IsSynchronized](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/commentcollection/issynchronized-property/llms-full.txt), [Item](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/commentcollection/item-property/llms-full.txt), [Remove](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/commentcollection/remove-method/llms-full.txt), [SyncRoot](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/commentcollection/syncroot-property/llms-full.txt)
- [CommentedText](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/commentedtext/llms-full.txt) (new class): [Active](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/commentedtext/active-property/llms-full.txt), [Comment](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/commentedtext/comment-property/llms-full.txt), [CreationTime](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/commentedtext/creationtime-property/llms-full.txt), [DefaultHighlightColor](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/commentedtext/defaulthighlightcolor-property/llms-full.txt), [EditComment](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/commentedtext/editcomment-method/llms-full.txt), [HighlightColor](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/commentedtext/highlightcolor-property/llms-full.txt), [HighlightMode](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/commentedtext/highlightmode-property/llms-full.txt), [ID](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/commentedtext/id-property/llms-full.txt), [Length](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/commentedtext/length-property/llms-full.txt), [Number](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/commentedtext/number-property/llms-full.txt), [RepliedComment](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/commentedtext/repliedcomment-property/llms-full.txt), [Replies](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/commentedtext/replies-property/llms-full.txt), [ReplyToComment](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/commentedtext/replytocomment-method/llms-full.txt), [Save](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/commentedtext/save-method/llms-full.txt), [ScrollTo](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/commentedtext/scrollto-method/llms-full.txt), [Select](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/commentedtext/select-method/llms-full.txt), [Start](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/commentedtext/start-property/llms-full.txt), [Text](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/commentedtext/text-property/llms-full.txt), [UserName](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/commentedtext/username-property/llms-full.txt)
- [CommentEventArgs](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/commenteventargs/llms-full.txt) (new class): [CommentedText](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/commenteventargs/commentedtext-property/llms-full.txt)
- [CommentsDialog](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/commentsdialog/llms-full.txt) (new class): [FindItem](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/commentsdialog/finditem-method/llms-full.txt)
- [DocumentServer.DataSources.MergeBlockSettings](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol-documentserver-datasources/mergeblocksettings/llms-full.txt): [AddResult](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol-documentserver-datasources/mergeblocksettings/addresult-property/llms-full.txt)
- [DocumentServer.MailMerge](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol-documentserver/mailmerge/llms-full.txt): [FormFieldMerged](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol-documentserver/mailmerge/formfieldmerged-event/llms-full.txt), [FormFieldMergeType](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol-documentserver/mailmerge/formfieldmergetype-property/llms-full.txt)
- [DocumentServer.MailMerge.FormFieldMergedEventArgs](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol-documentserver/mailmerge-formfieldmergedeventargs/llms-full.txt) (new class): [DataRow](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol-documentserver/mailmerge-formfieldmergedeventargs/datarow-property/llms-full.txt), [FormField](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol-documentserver/mailmerge-formfieldmergedeventargs/formfield-property/llms-full.txt), [MergeBlockName](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol-documentserver/mailmerge-formfieldmergedeventargs/mergeblockname-property/llms-full.txt), [Merged](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol-documentserver/mailmerge-formfieldmergedeventargs/merged-property/llms-full.txt), [NestingDepth](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol-documentserver/mailmerge-formfieldmergedeventargs/nestingdepth-property/llms-full.txt), [TableCell](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol-documentserver/mailmerge-formfieldmergedeventargs/tablecell-property/llms-full.txt)
- [DocumentServer.Windows.Forms.InsertMergeBlockDialog](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol-documentserver-windows-forms/insertmergeblockdialog/llms-full.txt): [AddResult](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol-documentserver-windows-forms/insertmergeblockdialog/addresult-property/llms-full.txt)
- [FormattingStyle](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/formattingstyle/llms-full.txt): [AutoBaseline](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/formattingstyle/autobaseline-property/llms-full.txt), [Capitals](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/formattingstyle/capitals-property/llms-full.txt), [CharacterScaling](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/formattingstyle/characterscaling-property/llms-full.txt), [CharacterSpacing](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/formattingstyle/characterspacing-property/llms-full.txt), [Culture](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/formattingstyle/culture-property/llms-full.txt)
- [HeaderFooter](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/headerfooter/llms-full.txt): [Comments](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/headerfooter/comments-property/llms-full.txt)
- [IFormattedText](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/iformattedtext/llms-full.txt): [Comments](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/iformattedtext/comments-property/llms-full.txt)
- [Selection](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/selection/llms-full.txt): [AutoBaseline](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/selection/autobaseline-property/llms-full.txt), [Capitals](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/selection/capitals-property/llms-full.txt), [ChangeCapitalization](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/selection/changecapitalization-method/llms-full.txt), [CharacterScaling](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/selection/characterscaling-property/llms-full.txt), [CharacterSpacing](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/selection/characterspacing-property/llms-full.txt)
- [ServerTextControl](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/servertextcontrol/llms-full.txt): [CommentCreated](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/servertextcontrol/commentcreated-event/llms-full.txt), [CommentDeleted](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/servertextcontrol/commentdeleted-event/llms-full.txt), [Comments](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/servertextcontrol/comments-property/llms-full.txt), [OnCommentCreated](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/servertextcontrol/oncommentcreated-method/llms-full.txt), [OnCommentDeleted](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/servertextcontrol/oncommentdeleted-method/llms-full.txt)
- [TextControl](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/textcontrol/llms-full.txt): [CommentChanged](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/textcontrol/commentchanged-event/llms-full.txt), [CommentCreated](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/textcontrol/commentcreated-event/llms-full.txt), [CommentDeleted](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/textcontrol/commentdeleted-event/llms-full.txt), [CommentedTextEntered](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/textcontrol/commentedtextentered-event/llms-full.txt), [CommentedTextLeft](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/textcontrol/commentedtextleft-event/llms-full.txt), [CommentHighlightMode](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/textcontrol/commenthighlightmode-property/llms-full.txt), [Comments](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/textcontrol/comments-property/llms-full.txt), [CommentStateChanged](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/textcontrol/commentstatechanged-event/llms-full.txt), [EditableRegionHighlightMode](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/textcontrol/editableregionhighlightmode-property/llms-full.txt), [OnCommentChanged](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/textcontrol/oncommentchanged-method/llms-full.txt), [OnCommentCreated](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/textcontrol/oncommentcreated-method/llms-full.txt), [OnCommentDeleted](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/textcontrol/oncommentdeleted-method/llms-full.txt), [OnCommentedTextEntered](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/textcontrol/oncommentedtextentered-method/llms-full.txt), [OnCommentedTextLeft](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/textcontrol/oncommentedtextleft-method/llms-full.txt), [OnCommentStateChanged](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/textcontrol/oncommentstatechanged-method/llms-full.txt)
- [TextFrame](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/textframe/llms-full.txt): [BorderColor](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/textframe/bordercolor-property/llms-full.txt), [BorderStyle](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/textframe/borderstyle-property/llms-full.txt), [Comments](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/textframe/comments-property/llms-full.txt)
- [TrackedChangesDialog](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/trackedchangesdialog/llms-full.txt) (new class): [FindItem](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/trackedchangesdialog/finditem-method/llms-full.txt)
- [Windows.Forms.Ribbon.RibbonProofingTab](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol-windows-forms-ribbon/ribbonproofingtab/llms-full.txt): [CommentsHorizontalSidebar](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol-windows-forms-ribbon/ribbonproofingtab/commentshorizontalsidebar-property/llms-full.txt), [CommentsSidebar](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol-windows-forms-ribbon/ribbonproofingtab/commentssidebar-property/llms-full.txt)

### Upgrade to Version 30.0

- **Update notes.** The update notes of version 30.0 list one entry: [LoadSettings.PDFImportSettings](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/loadsettings/pdfimportsettings-property/llms-full.txt) was extended with settings for the data that a PDF document carries besides its text. Of the three names the notes give, only `LoadEmbeddedFiles` is a value of the current [PDFImportSettings](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/pdfimportsettings/enumeration/llms-full.txt) enumeration; it provides the files embedded in the document. The metadata, the form fields and the text coordinates come from the value `LoadEmbeddedData`.
- **.NET versions.** Version 30.0 supports the .NET Framework 4.8, .NET 5 and .NET 6. The blog article [Migrate a Windows Forms Desktop Application to .NET 6](https://www.textcontrol.com/blog/2021/12/21/migrate-a-windows-forms-desktop-application-to-dotnet-6/) moves an application of that time to .NET 6. NuGet packages and full designer support for .NET followed in [Version 31.0](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/whats-new/3100/llms-full.txt).
- **Licensing.** The setup no longer registers the assemblies in the global assembly cache (GAC). As a result, every entry in *licenses.licx* needs the full version number of the assembly. [Breaking Changes](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/installation/upgrading/breaking-changes/#version-30-0) in the Upgrade Guide shows the entry, and the blog article [Version 30.0: Changes in Licenses.licx](https://www.textcontrol.com/blog/2021/12/02/version-30-changes-in-licenses-licx/) explains the change.

### Next Steps

- [Version 31.0](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/whats-new/3100/llms-full.txt): the features of the next version.
- [Version 29.0](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/whats-new/older-versions/2900/llms-full.txt): the version before, and the [Older Versions](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/whats-new/older-versions/llms-full.txt) back to 10.1.
- [Breaking Changes](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/whats-new/breaking-changes/llms-full.txt): the changes that can require work when you upgrade.
- [Comments](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/document-editor/comments/llms-full.txt): work with comments in the editor.
- [TX Text Control 30.0 and TX Spell .NET 9.0 Have Been Released](https://www.textcontrol.com/blog/2021/11/29/tx-text-control-30-released/): the release announcement on the Text Control Blog.

---

## Nearby

- **Previous:** [What's New in TX Text Control .NET for Windows Forms 31.0](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/whats-new/3100/llms-full.txt)
- **Next:** [Service Packs](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/whats-new/service-packs/llms-full.txt)
