2015-11-25 3 views
-2

ScreenShot of my project Здравствуйте, может кто-нибудь помочь мне с моим проектом, над которым я работаю? Все ценится!Гиперссылки внутри ListBox

Итак, что мне нужно? Его простое, мне нужно link и имя баров, чтобы фактически создать гиперссылку в список LSB. Может кто-нибудь, пожалуйста, помогите мне ??

PS: Не могли бы вы оставить его простым для меня, я только начал с этого языка.

+0

ли кто-нибудь знает, как на самом деле это сделать ???? – Pavel

+0

Может быть, добавить строку и событие MouseDoubleClick ...? – c4pricorn

+0

Возможно, это поможет: http://stackoverflow.com/help/how-to-ask – Steve

ответ

0

OK Это не так просто, как хотелось бы, чтобы это было для вас, но здесь. Я попытаюсь объяснить, как я иду по адресу

OK все коды бит ниже в вашем классе Form1 входят в один кусок - без моих объяснений. То, что я сделал здесь, это создать новый класс гиперссылок

Он имеет несколько свойств, называемых Имя и Ссылка и конструктор называется New

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 

Здесь я m, создающий список под названием linkList - это будет содержать список гиперссылок. Я делаю это так, чтобы позже в списке был установлен его использование, поскольку оно является источником элементов списка.

Dim linklist As New List(Of HyperLink) 

Этот подзаголовок addLinkToListbox на самом деле делает несколько вещей. Важными битами являются то, что он сообщает вам, что программа временно перестает отвечать на запросы при изменении индекса списка (что происходит даже при смене содержимого из списка)

Затем он добавляет новую ** гиперссылку * к список гиперссылок, берущих данные из текстового поля ссылки и текстовое поле name.

Чтобы действительно обновить данные, представленные в текстовом поле, я должен изменить ListBox источник данных для ничего, а затем обратно в linkList

Следующие две строки говорят о ListBox для отображения Имя свойство inn в окне списка и когда элемент на самом деле нажат, чтобы вернуть 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