我有两个关于 Visual Studio 中的 C# 的快速、简单的问题。首先,除了程序中的文本区域之外,是否有类似标签的东西?我想在我的程序中包含多行文本,但似乎只能使用打开自动换行的 DotNetBar 标签来完成它。
其次,有没有办法在不使用链接标签的情况下在文本中间添加超链接?如果我想生成类似“有更新可用,请访问http://example.com http://example.com下载它!”,是否可以使链接可点击,而不必在文本中间放置链接标签?
您可以使用链接标签 http://msdn.microsoft.com/en-us/library/system.windows.forms.linklabel.aspx并设置其LinkArea http://msdn.microsoft.com/en-us/library/system.windows.forms.linkarea.aspx财产:
//LinkArea (start index, length)
myLinkLabel.LinkArea = new LinkArea(37, 18);
myLinkLabel.Text = "An update is available, please visit http://example.com to download it!";
上述将使http://example.com
链接,而文本的其余部分正常。
编辑回答评论:
有多种处理链接的方法。一种方法是为链接提供描述(URL),然后使用 Process.Start 启动该 URL。
myLinkLabel.LinkArea = new System.Windows.Forms.LinkArea(37, 18);
myLinkLabel.LinkClicked += new LinkLabelLinkClickedEventHandler(myLinkLabel_LinkClicked);
myLinkLabel.Text = "An update is available, please visit http://example.com to download it!";
myLinkLabel.Links[0].Description = "http://example.com";
事件处理程序可以读取描述并启动站点:
void myLinkLabel_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
Process.Start(e.Link.Description);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)