Reputation: 347
I have a C# project (Win Forms), where a form reads an external text file, and then puts the text in a textbox on the form. What I would like to do is create a hyperlink from the text that the program reads in.
For example, if the text file reads "To go to Google, click HERE [www.google.com]", then I want the program to make "HERE" clickable, and go to www.google.com if HERE is clicked on.
Right now the program can read in the text file and recognize the web address just fine. I just don't know how to make "HERE" clickable.
Note: Due to external factors, I cannot make a button, or LinkLabel, or other object for the user to click on. The word itself has to be the hyperlink (if that is at all possible). Also, I have to read the string from an external file. I can't simply put textBox1.Text = "To go to Google, click HERE [www.google.com]";
Thanks in advance!
Upvotes: 0
Views: 1609
Reputation: 26
Building on the previous response, you might want to add an eventhandler to a label instead. You should be able to format the label to be blue and underlined to look like a link, also.
Upvotes: 0
Reputation: 427
The easiest work-around for what you are looking for would be to add a handler for DoubleClick, and then just compare the selected text. If it must be a single click, you want to use OnClick, and then get the test up to the last space to the left and to the right, and do the same compare.
VERY HACKISH btw.
private void textBox1_DoubleClick(object sender, EventArgs e)
{
if (string.Compare(textBox1.SelectedText.Trim(), "HERE") == 0)
System.Diagnostics.Process.Start("http://www.google.com");
}
Upvotes: 1