# Creating a Table of Contents (TOC) Using TX Text Control

> TX Text Control .NET for Windows Forms can generate a dynamic table of contents by parsing document styles to identify headings. A dedicated toc class walks the styled text, extracts entries, and exposes configurable options for controlling how the TOC is built and displayed.

> **Note:** This article is outdated and may no longer be accurate.

- **Author:** Bjoern Meyer
- **Published:** 2009-02-02
- **Modified:** 2026-03-05
- **Description:** TX Text Control .NET for Windows Forms can generate a dynamic table of contents by parsing document styles to identify headings. A dedicated toc class walks the styled text, extracts entries, and exposes configurable options for controlling how the TOC is built and displayed.
- **1 min read** (117 words)
- **Tags:**
  - .NET
  - Sample
  - Table of Contents
  - TOC
- **Web URL:** https://www.textcontrol.com/blog/2009/02/02/creating-a-table-of-contents-toc-using-tx-text-control/
- **LLMs URL:** https://www.textcontrol.com/blog/2009/02/02/creating-a-table-of-contents-toc-using-tx-text-control/llms.txt
- **LLMs-Full URL:** https://www.textcontrol.com/blog/2009/02/02/creating-a-table-of-contents-toc-using-tx-text-control/llms-full.txt
- **GitHub Repository:** https://github.com/TextControl/TextControl.WindowsForms.TOC

---

![Text Control](https://s1-www.textcontrol.com/assets/dist/blog/2009/02/02/a/assets/tx_sample_toc.webp "Text Control")An often requested feature of TX Text Control is a dynamically created table of contents (TOC) like offered in MS Word. Based on the style interface of TX Text Control, this is possible and not that tricky.

We just published a new sample that shows how to create a basic table of contents using TX Text Control.

This sample implements a simple class to parse the text for potential entries in order to create the table of contents. Additionally, the *toc* class provides some public values to configure the table of contents.

Download the sample from our GitHub repository.

---

## About Bjoern Meyer

As CEO, Bjoern is the visionary behind our strategic direction and business development, bridging the gap between our customers and engineering teams. His deep passion for coding and web technologies drives the creation of innovative products. If you're at a tech conference, be sure to stop by our booth - you'll most likely meet Bjoern in person. With an advanced graduate degree (Dipl. Inf.) in Computer Science, specializing in AI, from the University of Bremen, Bjoern brings significant expertise to his role. In his spare time, Bjoern enjoys running, paragliding, mountain biking, and playing the piano.

- [LinkedIn](https://www.linkedin.com/in/bjoernmeyer/)
- [X](https://x.com/txbjoern)
- [GitHub](https://github.com/bjoerntx)

---

## Related Posts

- [Create a Table of Contents in Windows Forms using C#](https://www.textcontrol.com/blog/2023/01/23/create-toc-in-windows-forms/llms.txt)
- [Two Ways to Restart Numbered Lists in TX Text Control](https://www.textcontrol.com/blog/2021/11/03/two-ways-to-restart-numbered-lists/llms.txt)
- [Paste Special: The Easy Way to Implement](https://www.textcontrol.com/blog/2009/09/07/paste-special-the-easy-way-to-implement/llms.txt)
- [How to Remove All Section Breaks in a Document?](https://www.textcontrol.com/blog/2009/05/14/how-to-remove-all-section-breaks-in-a-document/llms.txt)
- [Batch Printing: How to Print Documents in One Print Job](https://www.textcontrol.com/blog/2009/03/20/batch-printing-how-to-print-documents-in-one-print-job/llms.txt)
- [Removing TextFields in a Loop](https://www.textcontrol.com/blog/2009/03/12/removing-textfields-in-a-loop/llms.txt)
- [Rendering TX Text Control's Content to a DataGridViewCell](https://www.textcontrol.com/blog/2009/01/20/rendering-tx-text-controls-content-to-a-datagridviewcell/llms.txt)
- [Revised Sample: Converting Text to a Table](https://www.textcontrol.com/blog/2009/01/07/revised-sample-converting-text-to-a-table/llms.txt)
- [New Sample: Printing to Different Paper Trays](https://www.textcontrol.com/blog/2008/10/08/new-sample-printing-to-different-paper-trays/llms.txt)
- [Is the Current Input Position Currently Visible?](https://www.textcontrol.com/blog/2008/09/04/is-the-current-input-position-currently-visible/llms.txt)
- [New Sample: Implementing a 'paste Special' Dialog Box](https://www.textcontrol.com/blog/2008/07/10/new-sample-implementing-a-paste-special-dialog-box/llms.txt)
- [The ParagraphStyle and InlineStyle Constructor Unreveled](https://www.textcontrol.com/blog/2008/06/24/the-paragraphstyle-and-inlinestyle-constructor-unreveled/llms.txt)
- [Searching with C# Escape Sequences](https://www.textcontrol.com/blog/2008/05/29/searching-with-c-escape-sequences/llms.txt)
- [Removing Empty Tables](https://www.textcontrol.com/blog/2008/05/27/removing-empty-tables/llms.txt)
- [Manipulating the Selection Object](https://www.textcontrol.com/blog/2008/05/26/manipulating-the-selection-object/llms.txt)
- [Casting TextField Derivatives](https://www.textcontrol.com/blog/2008/05/23/casting-textfield-derivatives/llms.txt)
- [Resize Images to Fit into Page](https://www.textcontrol.com/blog/2008/05/08/resize-images-to-fit-into-page/llms.txt)
- [Printing into a PrintPreview Control](https://www.textcontrol.com/blog/2007/08/10/printing-into-a-printpreview-control/llms.txt)
- [Drag And Drop Images into TX Text Control .NET for Windows Forms](https://www.textcontrol.com/blog/2007/08/09/drag-and-drop-images-into-tx-text-control-net-for-windows-forms/llms.txt)
- [New Sample: Restarting a Numbered List](https://www.textcontrol.com/blog/2007/08/08/new-sample-restarting-a-numbered-list/llms.txt)
- [Is There a Table at the Current Mouse Position?](https://www.textcontrol.com/blog/2007/06/22/is-there-a-table-at-the-current-mouse-position/llms.txt)
- [Apply a Boxed Frame Style to Selected Cells](https://www.textcontrol.com/blog/2007/06/12/apply-a-boxed-frame-style-to-selected-cells/llms.txt)
- [Copy All Styles from One TextControl into Another](https://www.textcontrol.com/blog/2007/05/31/copy-all-styles-from-one-textcontrol-into-another/llms.txt)
- [Show Image Anchor Positions Using GDI+](https://www.textcontrol.com/blog/2007/04/25/show-image-anchor-positions-using-gdi/llms.txt)
- [Getting the Text of a Specific Page Without the Selection Class](https://www.textcontrol.com/blog/2007/04/24/getting-the-text-of-a-specific-page-without-the-selection-class/llms.txt)
