In a recent blog entry, I gave an overview of special mouse and keyboard assignments that assist with typical selection tasks. When double-clicking a word, TX Text Control selects the whole word and respects text delimiters such as periods or commas automatically. But sometimes, a delimiter should not be respected, but included when used as part of a decimal number, an URL or an e-mail address.

In such situations, we can easily use the DoubleClick event of TextControl to inject our custom selection behaviour. In this sample, I would like to show how a complete sequence of characters delimited by spaces can be selected. The algorithm works as follows:

  • Find the next space character before the current input position.
  • Find the next space character after the input position.
  • Select the range between these positions.

TX Text Control provides some powerful properties to get the required positions in the current Line. When double-clicking somewhere into the string $399.99, this whole price is selected:

Smart selection with TX Text Control

The same custom selection works for date values, URLs or e-mail addresses as well:

Smart selection with TX Text Control