【问题标题】:How to add text box value to hyperlink in C# on windows form?如何在 Windows 窗体上的 C# 中将文本框值添加到超链接?
【发布时间】:2016-08-07 15:03:33
【问题描述】:

我需要创建一个从文本框获取输入并显示网页的超链接。 文本框值是动态生成的。生成的网页取决于 ext 框的值。有人可以帮助我吗

提前致谢

【问题讨论】:

  • 你应该发布你的代码,这样人们就可以看到你正在尝试完成什么以及到目前为止你已经尝试过什么

标签: c# hyperlink textbox windows-forms-designer


【解决方案1】:

最低限度,因为您没有指定您期望哪种行为,但它可能对您有用或给您带来麻烦。另请查看 MSDN 中的LinkLabel 控件描述

using System.Diagnostics;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            linkLabel.Text = "Click to search!";
            linkLabel.LinkClicked += LinkLabel_LinkClicked;
        }

        private void LinkLabel_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            string googleSearch = @"https://www.google.com/?q=";
            Process.Start(googleSearch + textBox.Text);
        }
    }
}

要检查它,只需添加TextBox,将其命名为textBox,并将LinkLabel 命名为linkLabel。当您在文本框中输入内容并单击标签时,带有此短语的谷歌搜索将在您的默认浏览器中启动。

【讨论】:

  • 你好,我可以在 wpf` 中做同样的事情吗?
  • 是的,这几乎是一样的,但它是非常基本的。考虑使用绑定(因为您不想使用 WPF,它是基本机制之一,值得了解)或在您键入时更新您的变量(如果它将用于某些 ajax 调用)
【解决方案2】:

对于 WPF, 在 xaml 代码中,

        <Hyperlink RequestNavigate="Hyperlink_RequestNavigate" NavigateUri="https://www.google.de/search?q=">LINK

        </Hyperlink>
    </TextBlock>

在xaml.cs中实现Hyperlink_RequestNavigate函数

private void Hyperlink_RequestNavigate(object sender,   System.Windows.Navigation.RequestNavigateEventArgs e)
        {
            Process.Start(new ProcessStartInfo(e.Uri.AbsoluteUri+textBox.Text));
            e.Handled = true;
        }

//textbox.Text 包含要附加的文本

【讨论】:

    猜你喜欢
    • 2015-09-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-11
    • 1970-01-01
    • 2019-05-31
    • 2013-08-22
    • 1970-01-01
    • 2017-05-21
    相关资源
    最近更新 更多