您好,有人可以帮我处理我正在进行的项目吗?一切都很赞赏!
那么,我需要什么?它很简单,我需要链接和名称栏来实际创建一个到LSB列表框的超链接。有人可以帮帮我吗?
PS:请你为我保持简单,我刚开始使用这种语言。
答案 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