请问,超链接控件
在Form1窗口上放一个LinkLabel控件,怎样设置超链接,点击后,打开超链接所指向的网站?
------解决方案--------------------
请参考:
http://blog.sina.com.cn/s/blog_8cf74c0c0100uj83.html
------解决方案--------------------
LinkLabel控件类似于LinkLabel控件,但是它能够向Windows窗体应用程序中添加Web样式的链接,
用户可以将LinkLabel中的文本(Text值)的一部分设置为指向网页的链接.
LinkLabel控件常用属性
ActiveLinkColor : 表示单击链接时的颜色
LinkColor: 表示链接的初始颜色
VisitedLinkColor: 表示链接点击之后的颜色
DisabledLinkColor: 表示链接被禁止使用时的颜色
LinkArea: 表示显示为超级链接的文本区域
LinkBehaviour: 表示链接的行为
Dock: 表示链接在容器中的布局
一个使用LinkArea的例子:如果需要把"测试链接效果"中的"链接"两个字显示为超级链接
则示例代码如下:
linkLabel1.LinkArea = new LinkArea(2, 2);
LinkLabel控件常用方法
Focus方法: 该方法表示控件设置输入焦点。
FindForm方法: 该方法表示检索控件所在的窗体
LinkClicked事件:当用户单击控件中的链接时,处理LinkClicked事件以执行任务,将Link LabelLinkClickedEventArgs类的实例传递给LinkClicked事件的处理程序,该实例包含与所单击的链接关联的 LinkLabel.Link对象。可以使用在LinkLabel.Link类的LinkData属性中指定的信息确定单击了哪个链接或单击该链接后要执 行的任务类型。
如果需要点击一个链接打开一个网页,示例代码如下:
[c-sharp] view plaincopy
private void lbllink_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
System.Diagnostics.Process.Start("iexplore.exe", "http://www.google.cn");
}
也可以这样编写代码:
[c-sharp] view plaincopy
private void lbllink_LinkClicked(object sender, System.Windows.Forms.LinkLabelLinkClickedEventArgs e)
{
this.lbllink_LinkClicked.Links[0].LinkData = "http://www.sina.com";
System.Diagnostics.Process.Start(e.Link.LinkData.ToString());
}
在LinkLable控件中可以添加多个链接,示例如下:
[c-sharp] view plaincopy
private void Form1_Load(object sender, EventArgs e)
{
lbllink.Text = "csdn Win 百度 谷歌 YAHOO";
lbllink.Links.Add(0, 4, "http://www.csdn.net/");
lbllink.Links.Add(9, 2, "http://www.baidu.com/");
lbllink.Links.Add(12, 2, "http://www.google.cn/");
lbllink.Links.Add(15, 5, "http://www.yahoo.com.cn/");
}
点击其中某个链接打开网页的代码如下:
[c-sharp] view plaincopy
private void lbllink_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
lbllink.Links[lbllink.Links.IndexOf(e.Link)].Visited = true;
string targetUrl = e.Link.LinkData as string;
if (string.IsNullOrEmpty(targetUrl))
MessageBox.Show("没有链接地址!");
else
System.Diagnostics.Process.Start("targetUrl");
}