Como Criar Hyperlinks em Labels no Visual Basic

No Visual Basic, é possível transformar um Label em um hyperlink para abrir páginas da web ou enviar e-mails. Isso pode ser feito utilizando a API ShellExecute, que permite executar arquivos e URLs diretamente do código.


Passo a Passo para Criar Hyperlinks em Labels

  1. Adicione dois Labels ao formulário e nomeie-os como Label1 e Label2.
  2. Insira o código abaixo no formulário para configurar os Labels como links clicáveis.

Código Completo

' Declaração da função ShellExecute para abrir URLs e e-mails
Private Declare Function ShellExecute Lib "shell32.dll" Alias _
"ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

' Ao clicar no Label1, abre a página da WebMundi
Private Sub Label1_Click()
    Dim ret As Long
    ret = ShellExecute(Me.hwnd, "Open", "http://www.webmundi.com", "", "", 1)
End Sub

' Altera a cor do Label1 quando pressionado
Private Sub Label1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Label1.ForeColor = vbRed
End Sub

' Retorna a cor original quando solta o clique
Private Sub Label1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Label1.ForeColor = vbBlue
End Sub

' Ao clicar no Label2, abre o cliente de e-mail para enviar um e-mail
Private Sub Label2_Click()
    Dim ret As Long
    ret = ShellExecute(Me.hwnd, "Open", "mailto:[email protected]?Subject=Criando Hyperlinks no Label", "", "", 1)
End Sub

' Altera a cor do Label2 quando pressionado
Private Sub Label2_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Label2.ForeColor = vbRed
End Sub

' Retorna a cor original quando solta o clique
Private Sub Label2_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Label2.ForeColor = vbBlue
End Sub

' Configura os Labels ao carregar o Formulário
Private Sub Form_Load()
    ' Configuração do Label1 (Link para site)
    With Label1
        .AutoSize = True
        .ForeColor = vbBlue
        .Font.Italic = True
        .Font.Underline = True
        .Caption = "http://www.webmundi.com"
    End With

    ' Configuração do Label2 (Link para e-mail)
    With Label2
        .AutoSize = True
        .ForeColor = vbBlue
        .Font.Italic = True
        .Font.Underline = True
        .Caption = "[email protected]"
    End With
End Sub

Explicação do Código

ShellExecute → Função usada para abrir URLs e enviar e-mails.
Label1 → Redireciona para um site ao clicar.
Label2 → Abre o cliente de e-mail com um assunto predefinido.
MouseDown e MouseUp → Mudam a cor do texto ao clicar para simular um link real.
Form_Load → Configura os Labels como links ao iniciar o formulário.


Melhoria na Experiência do Usuário

Cores alteradas ao clicar para parecer mais com um link real.
Texto sublinhado e azul, como um hyperlink tradicional.
AutoSize ativado para que o tamanho do Label ajuste automaticamente ao texto.


Esse método torna seus Labels interativos e funcionais dentro de qualquer projeto em Visual Basic.

Posts Similares