0

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

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)
    {
    }
4

2 回答 2

0

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

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

有关进程类的更多信息。

例如,如果默认浏览器是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。

于 2014-02-12T10:46:33.293 回答
0

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

    // Add a link to the LinkLabel.
    LinkLabel.Link link = new LinkLabel.Link();
    link.LinkData = textbox2.Text;
    linkLabel1.Links.Add(link);
于 2014-02-12T10:34:55.770 回答