Lorsque j'ajoute www.stackoverflow.com dans ma RichTextBox et que j'exécute le programme, il est affiché en bleu et en tant que lien hypertexte, mais quand je clique dessus, rien ne se passe. Comment puis-je réparer cela?
Assurez-vous que la propriété text inclut une URL valide. Par exemple. http://www.stackoverflow.com/
définissez la propriété DetectUrls sur true
Écrivez un gestionnaire d'événements pour l'événement LinkClicked .
Personnellement, je ne passerais pas "IExplore.exe" en paramètre au Process.Start appelez comme Microsoft le conseille car cela suppose qu'il est installé et est le navigateur préféré de l'utilisateur. Si vous passez simplement l'URL pour démarrer le processus (comme ci-dessous), Windows fera la bonne chose et lancera le navigateur préféré de l'utilisateur avec l'URL appropriée.
private void mRichTextBox_LinkClicked (object sender, LinkClickedEventArgs e) {
System.Diagnostics.Process.Start(e.LinkText);
}
La classe RichTextBox vous permet de personnaliser son comportement lorsque l'utilisateur clique sur le lien hypertexte. Ajoutez un gestionnaire d'événements pour l'événement RichTextBox.LinkClicked
Process p = new Process();
private void richTextBox1_LinkClicked(object sender, LinkClickedEventArgs e)
{
p = Process.Start("IExplore.exe", e.LinkText);
}
Vous devez vous assurer que DetectUrls
est défini sur true
. Si cela ne fonctionne pas seul, vous devrez peut-être ajouter un gestionnaire pour l'événement LinkClicked
.
Est yourTextBox.DetectUrls
défini sur true? Il se peut que nous ayons besoin de plus d'informations pour fournir une meilleure réponse.