private static void TextBoxOnClick(object sender, EventArgs eventArgs) { var textBox = sender as TextBoxBase; if (textBox == null) { return; } if (textBox.SelectionLength > 0) { return; } var tokens = new Regex(@"%\w+%").Matches(textBox.Text).OfType<Match>().ToArray(); var token = tokens.FirstOrDefault(match => ShouldSelectToken(match, textBox)); if (token == null) { return; } textBox.Select(token.Index, token.Length); }