Condividi tramite


Procedura: eseguire il collegamento a un oggetto o a una pagina Web con il controllo LinkLabel di Windows Form

Il controllo Windows Form LinkLabel consente di creare collegamenti in stile Web nel modulo. Quando si fa clic sul collegamento, è possibile modificarne il colore per indicare che il collegamento è stato visitato. Per altre informazioni sulla modifica del colore, vedere Procedura: Modificare l'aspetto del controllo LinkLabel Windows Form.

Collegamento a un altro modulo

  1. Impostare la Text proprietà su un didascalia appropriato.

  2. Impostare la LinkArea proprietà per determinare quale parte del didascalia verrà indicata come collegamento. La modalità di indicazione dipende dalle proprietà correlate all'aspetto dell'etichetta di collegamento. Il LinkArea valore è rappresentato da un LinkArea oggetto contenente due numeri, la posizione del carattere iniziale e il numero di caratteri. La LinkArea proprietà può essere impostata nel Finestra Proprietà o nel codice in modo simile al seguente:

    ' 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);
    
  3. LinkClicked Nel gestore eventi richiamare il Show metodo per aprire un'altra maschera nel progetto e impostare la LinkVisited proprietà su true.

    Nota

    Un'istanza della LinkLabelLinkClickedEventArgs classe contiene un riferimento al LinkLabel controllo su cui è stato fatto clic, quindi non è necessario eseguire il cast dell'oggetto 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;
       }
    

Collegamento a una pagina Web

Il LinkLabel controllo può essere usato anche per visualizzare una pagina Web con il browser predefinito.

  1. Impostare la Text proprietà su un didascalia appropriato.

  2. Impostare la LinkArea proprietà per determinare quale parte del didascalia verrà indicata come collegamento.

  3. LinkClicked Nel gestore eventi, in mezzo a un blocco di gestione delle eccezioni, chiamare una seconda routine che imposta la LinkVisited proprietà su true e usa il Start metodo per avviare il browser predefinito con un URL. Per usare il Start metodo è necessario aggiungere un riferimento allo spazio dei System.Diagnostics nomi .

    Importante

    Se il codice seguente viene eseguito in un ambiente parzialmente attendibile ,ad esempio in un'unità condivisa, il compilatore JIT ha esito negativo quando viene chiamato il VisitLink metodo . L'istruzione System.Diagnostics.Process.Start genera una richiesta di collegamento che ha esito negativo. Intercettando l'eccezione quando viene chiamato il VisitLink metodo , il codice seguente garantisce che se il compilatore JIT ha esito negativo, l'errore viene gestito 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");
       }
    

Vedi anche