1 - Para Sublinhar:
Seta a propriedade do Listbox DrawItem para OwnerDrawFixed.
Cria uma Variável Global para armazenar o Itens encontrados:
Private itemsEncontrados As List(Of Integer)
Coloque o código abaixo no Click do Botão de Busca:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
itemsEncontrados = New List(Of Integer)
For i As Integer = 0 To ListBox1.Items.Count - 1
If ListBox1.Items(i).ToString = SeuLabel.Text Then
itemsEncontrados.Add(i)
End If
Next
ListBox1.Refresh()
End Sub
No Evento DrawItem do ListBox coloque o seguinte Código:
Private Sub ListBox1_DrawItem(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DrawItemEventArgs) Handles ListBox1.DrawItem
e.DrawBackground()
Dim textFont As Font
If itemsEncontrados IsNot Nothing AndAlso itemsEncontrados.Contains(e.Index) Then
textFont = New Font(e.Font.FontFamily, e.Font.Size, FontStyle.Underline)
Else
textFont = e.Font
End If
e.Graphics.DrawString(ListBox1.Items(e.Index).ToString(), textFont, New SolidBrush(e.ForeColor), RectangleF.op_Implicit(e.Bounds))
e.DrawFocusRectangle()
End Sub
2 - Para Ordenar de A/Z:
ListBox1.Sorted = True
3 - Para Ordenar de Z/A
ListBox1.Sorted = True
ListBox1.Update()
Dim lista As New List(Of String)
For Each item As String In ListBox1.Items
lista.Add(item)
Next
lista.Reverse()
ListBox1.Items.Clear()
ListBox1.Sorted = False
ListBox1.Items.AddRange(lista.ToArray)
Bruno Ferreira de Souza
Analista Desenvolvedor .NET
MCP - Windows Form