C#将文本写入文本框,将文本添加到linklabel,当linklabel点击进入url时?

时间:2014-02-12 10:29:57

标签: c# textbox linklabel

我正在尝试执行以下操作:我将链接写入文本框并在链接标签中显示,然后在单击linklabel后,它会转到写在其中的URL?一切顺利,但紧迫的linklabel不会去网址。

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void button1_Click_1(object sender, EventArgs e)
    {
        label2.Text = textBox1.Text;
        linkLabel1.Text = textBox2.Text;
    }

    private void Form1_FormClosed(object sender, FormClosedEventArgs e)
    {
        Properties.Settings.Default.checkbox = checkBox1.Checked;
        Properties.Settings.Default.textbox = textBox1.Text;
        Properties.Settings.Default.label = label2.Text;
        Properties.Settings.Default.linkLabel = linkLabel1.Text;
        Properties.Settings.Default.Save();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        checkBox1.Checked = Properties.Settings.Default.checkbox;
        textBox1.Text = Properties.Settings.Default.textbox;
        label2.Text = Properties.Settings.Default.label;
        linkLabel1.Text = Properties.Settings.Default.linkLabel;        
    }

    private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
    {
    }

2 个答案:

答案 0 :(得分:0)

您应该使用以下代码将链接添加到LinkLabel:

    // Add a link to the LinkLabel.
    LinkLabel.Link link = new LinkLabel.Link();
    link.LinkData = textbox2.Text;
    linkLabel1.Links.Add(link);

答案 1 :(得分:0)

您必须使用LinkLabel的文本启动进程,该文本应该是有效的URL。此代码将在默认浏览器中打开URL:

private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
    Process.Start(linkLabel1.Text);
}

有关Process Class的更多信息。

如果默认浏览器为IE,并且您想在Chrome中打开它,例如,您必须提供必要的信息:

private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
    Process p = new Process();
    p.StartInfo.FileName = @"C:\Users\<UserName>\AppData\Local\Google\Chrome\chrome.exe";
    p.StartInfo.Arguments = linkLabel1.Text;
    p.Start();
}

当然,您必须进行验证以检查LinkLabel的文本是否为有效的URL。