Is There a Table at the Current Mouse Position?
In our sample applications, we show how to open a context menu for table properties when the current input position is inside a table. Sometimes, however, it is necessary to open a context menu when the input position is not inside a table. The following source code illustrates how to achieve this. We can use the InputPosition class to set the caret to the current mouse position. This is especially important, if the right mouse button is used for context menus, as is usually the case. The…

In our sample applications, we show how to open a context menu for table properties when the current input position is inside a table. Sometimes, however, it is necessary to open a context menu when the input position is not inside a table. The following source code illustrates how to achieve this. We can use the InputPosition class to set the caret to the current mouse position. This is especially important, if the right mouse button is used for context menus, as is usually the case. The input position is not automatically set to the mouse position. The return values of the mouse event must be converted to twips to match the required unit of the InputPosition class. The Tables.GetItem() method is used to check whether there is a table at the current input position or not.
private void textControl1_MouseUp(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
textControl1.InputPosition = new TXTextControl.InputPosition(new Point(Convert.ToInt32(e.X * dpiX), Convert.ToInt32(e.Y * dpiX)));
if (textControl1.Tables.GetItem() != null)
MessageBox.Show("Table");
}
}
float dpiX = 15;
private void Form1_Paint(object sender, PaintEventArgs e)
{
dpiX = 1440 / e.Graphics.DpiX;
}
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…