ListBox中的超链接

时间:2015-11-25 10:04:41

标签: vb.net hyperlink listbox vb.net-2010

ScreenShot of my project 您好,有人可以帮我处理我正在进行的项目吗?一切都很赞赏!

那么,我需要什么?它很简单,我需要链接名称栏来实际创建一个到LSB列表框的超链接。有人可以帮帮我吗?

PS:请你为我保持简单,我刚开始使用这种语言。

1 个答案:

答案 0 :(得分:0)

好的,这并不像我希望的那样简单,但是这里就是这样。我会随着时间的推移解释

确定下面的所有位代码都在你的Form1类中作为一个整体 - 没有我的解释。我在这里做的是创建一个名为超链接

的新类

它有一些名为名称链接的属性以及一个名为的构造函数

Class HyperLink
    Private friendlyName As String
    Private link As String
    Public Property Name As String
        Get
            Return friendlyName
        End Get

        Set(ByVal value As String)
            friendlyName = value
        End Set
    End Property

    Public Property URL As String
        Get
            Return link
        End Get

        Set(value As String)
            link = URL
        End Set
    End Property

    Public Sub New(nm As String, ln As String)
        friendlyName = nm
        link = ln
    End Sub
End Class

这里我正在创建名为 linkList 的列表 - 这将保存超链接列表 - 我这样做是为了稍后在列表框上将设置为使用它作为列表项的源

Dim linklist As New List(Of HyperLink)

这个名为 addLinkToListbox 的子实际上做了几件事。重要的一点是,它告诉你程序在列表框的索引发生变化时暂时停止响应(即使你正在更改列表框中的内容,也会发生这种情况)

然后它将新的**超链接*添加到从链接文本框和名称文本框中获取数据的超链接列表。

要实际刷新文本框中显示的数据,我必须将列表框数据源更改为,然后返回 linkList

接下来的两行告诉列表框在列表框中显示名称属性,当实际点击该项时,返回 URL 属性。

最后,我告诉程序在列表框索引的索引发生变化时再次开始响应。

Private Sub addLinkToListbox(linkName As String, linkURL As String)
     RemoveHandler ListBox1.SelectedIndexChanged, AddressOf ListBox1_SelectedIndexChanged
     linklist.Add(New HyperLink(linkName, linkURL))
     ListBox1.DataSource = Nothing
     ListBox1.DataSource = linklist
     ListBox1.DisplayMember = "Name"
     ListBox1.ValueMember = "URL"
     AddHandler ListBox1.SelectedIndexChanged, AddressOf ListBox1_SelectedIndexChanged
End Sub

最后两位代码希望不言自明

    Private Sub btnAddLink_Click(sender As Object, e As EventArgs) Handles btnAddLink.Click
        addLinkToListbox(txtName.Text, txtLink.Text)
    End Sub

    Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox1.SelectedIndexChanged
        MessageBox.Show(ListBox1.SelectedValue.ToString)
    End Sub