加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

使用c#创建和复制带有文本/标题的超链接到剪贴板

发布时间:2020-12-15 04:20:31 所属栏目:百科 来源:网络整理
导读:在各种程序中,您可以将超链接复制到剪贴板并将其粘贴到其他应用程序中.例如本页底部的“反馈总是欢迎”链接可以复制并粘贴到MS Word中.我想以编程方式创建这样一个链接,将其复制到剪贴板,然后将其粘贴到别的地方. 例如与文本堆栈映射到stackoverflow.com的链
在各种程序中,您可以将超链接复制到剪贴板并将其粘贴到其他应用程序中.例如本页底部的“反馈总是欢迎”链接可以复制并粘贴到MS Word中.我想以编程方式创建这样一个链接,将其复制到剪贴板,然后将其粘贴到别的地方.

例如与文本堆栈映射到stackoverflow.com的链接.

我已经尝试过各种各样的事情与Clipboard.SetData,但没有什么似乎做的伎俩.

(我正在使用VS2010中的Windows窗体应用程序,.NET4.0)

解决方法

我不知道您正在使用的架构,但无论如何,您只需要在剪贴板中复制URL.

例如,假设您有一个名为myHyperlink的HyperLink控件和一个名为copyButton的按钮.

当用户单击按钮时,您只需使用Clipboard.SetText(string)将方法传递给myHyperlink的URL属性.

编辑:要在另一个程序(如Word)中显示带有字幕的超链接,您必须使用特定标题以HTML格式设置文本.

Version:0.9
StartHTML:<<<<<<<1
EndHTML:<<<<<<<2
StartFragment:<<<<<<<3
EndFragment:<<<<<<<4
SourceURL: www.google.it
<html>
<body>
<!--StartFragment-->
<a href="http://programmers.stackexchange.com/">programmers</a></span></span>
<!--EndFragment-->
</body>
</html>

这是HTML的一个例子,我们试着在C#中进行一般化:

private const string html = @"Version:0.9
StartHTML:<<<<<<<1
EndHTML:<<<<<<<2
StartFragment:<<<<<<<3
EndFragment:<<<<<<<4
SourceURL: {0}
<html>
<body>
<!--StartFragment-->
<a href='{0}'>{1}</a>
<!--EndFragment-->
</body>
</html>";

然后使用它如下:

string link = String.Format(html,"http://www.google.it","Google");
Clipboard.SetText(link,TextDataFormat.Html);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读