Como faço para detectar um alt de cliques em link no RichTextBox
-
07-07-2019 - |
Pergunta
Eu tenho um RichTextBox em um WinForm com URL: s. Eles podem ser clicado, mas eu quero para detectar se o direito de usuário clicou-los.
Solução
Eu acho que isso é o que você pode estar procurando. Na MouseDownEvent primeiro verificar que você está lidando com um clique direito. Em seguida, descobrir a posição clicada e trabalhar o seu caminho de volta ao texto.
private void DoMouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
RichTextBox rtb = (RichTextBox)sender;
int charIndex = rtb.GetCharIndexFromPosition(new Point(e.X, e.Y));
int lineIndex = rtb.GetLineFromCharIndex(charIndex);
string clickedText = rtb.Lines[lineIndex];
// now check if the text was indeed a link
Regex re = new Regex("http://(www\\.)?([^\\.]+)\\.([^\\.]+)");
bool isLink = re.IsMatch(s);
}
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow