Como: Vincular a um objeto ou página da Web com o controle LinkLabel do Windows Forms
O controle de LinkLabel do Windows Forms permite que você crie links no estilo da Web em seu formulário. Quando o link é clicado, você pode alterar sua cor para indicar que o link foi visitado. Para obter mais informações sobre como alterar a cor, consulte Como alterar a aparência do controle LinkLabel do Windows Forms.
Vinculando a outro formulário
Para vincular a outro formulário com um controle LinkLabel
Defina a propriedade Text com uma legenda adequada.
Defina a propriedade LinkArea para determinar qual parte da legenda será indicada como um link. A forma como é indicado depende das propriedades relacionadas com a aparência da etiqueta da ligação. O valor LinkArea é representado por um objeto LinkArea contendo dois números, a posição do caractere inicial e o número de caracteres. A propriedade LinkArea pode ser definida na janela Propriedades ou no código de maneira semelhante à seguinte:
' In this code example, the link area has been set to begin ' at the first character and extend for eight characters. ' You may need to modify this based on the text entered in Step 1. LinkLabel1.LinkArea = New LinkArea(0, 8)
// In this code example, the link area has been set to begin // at the first character and extend for eight characters. // You may need to modify this based on the text entered in Step 1. linkLabel1.LinkArea = new LinkArea(0,8);
// In this code example, the link area has been set to begin // at the first character and extend for eight characters. // You may need to modify this based on the text entered in Step 1. linkLabel1->LinkArea = LinkArea(0,8);
No manipulador de eventos LinkClicked, invoque o método Show para abrir outro formulário no projeto e defina a propriedade LinkVisited como
true
.Observação
Uma instância da classe LinkLabelLinkClickedEventArgs carrega uma referência ao controle LinkLabel que foi clicado, portanto, não há necessidade de converter o objeto
sender
.Protected Sub LinkLabel1_LinkClicked(ByVal Sender As System.Object, _ ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) _ Handles LinkLabel1.LinkClicked ' Show another form. Dim f2 As New Form() f2.Show LinkLabel1.LinkVisited = True End Sub
protected void linkLabel1_LinkClicked(object sender, System. Windows.Forms.LinkLabelLinkClickedEventArgs e) { // Show another form. Form f2 = new Form(); f2.Show(); linkLabel1.LinkVisited = true; }
private: void linkLabel1_LinkClicked(System::Object ^ sender, System::Windows::Forms::LinkLabelLinkClickedEventArgs ^ e) { // Show another form. Form ^ f2 = new Form(); f2->Show(); linkLabel1->LinkVisited = true; }
Ligação a uma página Web
O controle LinkLabel também pode ser usado para exibir uma página da Web com o navegador padrão.
Para iniciar o Internet Explorer e vincular a uma página da Web com um controle LinkLabel
Defina a propriedade Text como uma legenda apropriada.
Defina a propriedade LinkArea para determinar qual parte da legenda será indicada como um link.
No manipulador de eventos LinkClicked, no meio de um bloco de tratamento de exceções, chame um segundo procedimento que define a propriedade LinkVisited como
true
e usa o método Start para iniciar o navegador padrão com uma URL. Para usar o método Start, você precisa adicionar uma referência ao namespace System.Diagnostics.Importante
Se o código abaixo for executado em um ambiente de confiança parcial (como em uma unidade compartilhada), o compilador JIT falhará quando o método
VisitLink
for chamado. A instruçãoSystem.Diagnostics.Process.Start
causa uma demanda de link que falha. Ao capturar a exceção quando o métodoVisitLink
é chamado, o código abaixo garante que, se o compilador JIT falhar, o erro será tratado normalmente.Private Sub LinkLabel1_LinkClicked(ByVal sender As System.Object, _ ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) _ Handles LinkLabel1.LinkClicked Try VisitLink() Catch ex As Exception ' The error message MessageBox.Show("Unable to open link that was clicked.") End Try End Sub Sub VisitLink() ' Change the color of the link text by setting LinkVisited ' to True. LinkLabel1.LinkVisited = True ' Call the Process.Start method to open the default browser ' with a URL: System.Diagnostics.Process.Start("http://www.microsoft.com") End Sub
private void linkLabel1_LinkClicked(object sender, System.Windows.Forms.LinkLabelLinkClickedEventArgs e) { try { VisitLink(); } catch (Exception ex ) { MessageBox.Show("Unable to open link that was clicked."); } } private void VisitLink() { // Change the color of the link text by setting LinkVisited // to true. linkLabel1.LinkVisited = true; //Call the Process.Start method to open the default browser //with a URL: System.Diagnostics.Process.Start("http://www.microsoft.com"); }
private: void linkLabel1_LinkClicked(System::Object ^ sender, System::Windows::Forms::LinkLabelLinkClickedEventArgs ^ e) { try { VisitLink(); } catch (Exception ^ ex) { MessageBox::Show("Unable to open link that was clicked."); } } private: void VisitLink() { // Change the color of the link text by setting LinkVisited // to true. linkLabel1->LinkVisited = true; // Call the Process.Start method to open the default browser // with a URL: System::Diagnostics::Process::Start("http://www.microsoft.com"); }
Ver também
.NET Desktop feedback