# Using RulerBars in Separate Windows

> TX Text Control ships standalone RulerBar controls that manage page margins, tab stops, and paragraph indents independently of the editor. By toggling the TextControl Enabled property on the MouseEnter and MouseLeave events, rulers in separate windows can serve multiple editor instances.

- **Author:** Bjoern Meyer
- **Published:** 2012-11-20
- **Modified:** 2026-07-17
- **Description:** TX Text Control ships standalone RulerBar controls that manage page margins, tab stops, and paragraph indents independently of the editor. By toggling the TextControl Enabled property on the MouseEnter and MouseLeave events, rulers in separate windows can serve multiple editor instances.
- **2 min read** (257 words)
- **Tags:**
  - Sample
- **Web URL:** https://www.textcontrol.com/blog/2012/11/20/using-rulerbars-in-separate-windows/
- **LLMs URL:** https://www.textcontrol.com/blog/2012/11/20/using-rulerbars-in-separate-windows/llms.txt
- **LLMs-Full URL:** https://www.textcontrol.com/blog/2012/11/20/using-rulerbars-in-separate-windows/llms-full.txt

---

TX Text Control is shipped with ready-to-use ruler bars to adjust page or paragraph settings such as page margins, tab positions or indents. These bars are encapsulated in separate controls. This allows a very flexible usage like linking the ruler bars to a Text Control which is positioned in a different Window.

To save workspace, you could arrange ruler bars in separate Windows. The connected ruler bars are adjusted automatically to reflect the current settings of the docked TextControl object.

The following screenshot shows how this setup would look like:

![TX Text Control with external ruler bars](https://s1-www.textcontrol.com/assets/dist/blog/2012/11/20/a/assets/external_rulers.webp "TX Text Control with external ruler bars")When changes are made with the RulerBar, TextControl is getting hold of the focus. This would imply that the ruler is not usable when used in an external Window. This can be easily solved using a little trick: On the MouseEnter event of the RulerBar, TextControl can be temporary disabled and enabled again when the mouse leaves the RulerBar.

```
private TextControl _parent;

private void rulerBar1_MouseEnter(object sender, EventArgs e)
{
    _parent.Enabled = false;
}

private void rulerBar1_MouseLeave(object sender, EventArgs e)
{
    _parent.Enabled = true;
}
```

This configuration gives some applications more flexibility. Consider a setup with more TextControl instances on a form. The same ruler bars can be used for all instances of TextControl:

![TX Text Control with external ruler bars](https://s1-www.textcontrol.com/assets/dist/blog/2012/11/20/a/assets/external_rulers2.webp "TX Text Control with external ruler bars")

---

## 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)
- [Official TX Text Control .NET Sample Applications Are Now Hosted on GitHub](https://www.textcontrol.com/blog/2023/01/08/official-tx-text-control-net-sample-applications-are-now-hosted-on-github/llms.txt)
- [Detect Toggle Button Changes Using a MutationObserver](https://www.textcontrol.com/blog/2021/11/11/detect-toggle-button-changes-using-a-mutationobserver/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)
- [Zoom Tricks: Disabling CTRL + MOUSE WHEEL and More](https://www.textcontrol.com/blog/2020/12/09/zoom-tricks-disabling-ctrl-mouse-wheel-and-more/llms.txt)
- [AutoCorrect Using TX Text Control and TX Spell .NET](https://www.textcontrol.com/blog/2017/08/17/autocorrect-using-tx-text-control-and-tx-spell-net/llms.txt)
- [Creating Conference Badges with Text Control Reporting](https://www.textcontrol.com/blog/2017/02/14/creating-conference-badges-with-text-control-reporting/llms.txt)
- [Using Custom Document Properties to Store Additional Document Information](https://www.textcontrol.com/blog/2017/02/09/using-custom-document-properties-to-store-additional-document-information/llms.txt)
- [Use SubTextParts to Protect Document Parts](https://www.textcontrol.com/blog/2015/12/29/use-subtextparts-to-protect-document-parts/llms.txt)
- [Reporting: Styling the DocumentViewer for ASP.NET](https://www.textcontrol.com/blog/2015/06/14/reporting-styling-the-documentviewer-for-aspnet/llms.txt)
- [Reporting: Merging MS Word Documents with DocVariables](https://www.textcontrol.com/blog/2015/06/10/reporting-merging-ms-word-documents-with-docvariables/llms.txt)
- [TextControl.Web: Determine when a Document Has Been Completely Loaded](https://www.textcontrol.com/blog/2015/06/09/textcontrolweb-determine-when-a-document-has-been-completely-loaded/llms.txt)
- [TextControl.Web: Adding Custom Ribbon Tabs](https://www.textcontrol.com/blog/2015/05/29/textcontrolweb-adding-custom-ribbon-tabs/llms.txt)
- [Building a Touch-enabled Button Bar with Javascript](https://www.textcontrol.com/blog/2015/05/27/building-a-touch-enabled-button-bar-with-javascript/llms.txt)
- [TextControl.Web: Inserting Merge Fields Using Javascript](https://www.textcontrol.com/blog/2015/05/16/textcontrolweb-inserting-merge-fields-using-javascript/llms.txt)
- [MailMerge: Merge Hyperlinks into Merge Fields](https://www.textcontrol.com/blog/2015/05/15/mailmerge-merge-hyperlinks-into-merge-fields/llms.txt)
- [Mail Merge: Suppress Lines with Empty Merge Fields](https://www.textcontrol.com/blog/2014/08/01/mail-merge-suppress-lines-with-empty-merge-fields/llms.txt)
- [Interactive Spelling Suggestions Using TX Spell .NET](https://www.textcontrol.com/blog/2014/07/30/interactive-spelling-suggestions-using-tx-spell-net/llms.txt)
- [Alternate Row Colors Using NEXT Fields](https://www.textcontrol.com/blog/2013/12/30/alternate-row-colors-using-next-fields/llms.txt)
- [Loading Dictionaries Dynamically in TX Spell .NET](https://www.textcontrol.com/blog/2013/12/20/loading-dictionaries-dynamically-in-tx-spell-net/llms.txt)
- [Restart the Page Numbering Fields Per Section](https://www.textcontrol.com/blog/2013/11/08/restart-the-page-numbering-fields-per-section/llms.txt)
- [TX Barcode .NET: Test the Barcode Engine Live!](https://www.textcontrol.com/blog/2013/07/10/tx-barcode-net-test-the-barcode-engine-live/llms.txt)
- [SD Times .NET Component Buyers Guide 2013: Simplify Report Creation](https://www.textcontrol.com/blog/2013/06/06/sd-times-net-component-buyers-guide-2013-simplify-report-creation/llms.txt)
- [Inserting MS Word Compatible Page Number Fields](https://www.textcontrol.com/blog/2013/05/30/inserting-ms-word-compatible-page-number-fields/llms.txt)
- [MailMerge: Creating Shipping Labels Using TX Text Control](https://www.textcontrol.com/blog/2012/11/23/mailmerge-creating-shipping-labels-using-tx-text-control/llms.txt)
