Jak połączyć z obiektem lub stroną sieci Web za pomocą kontrolki LinkLabel w formularzach systemu Windows
Kontrolka Windows Forms LinkLabel umożliwia tworzenie linków w stylu sieci Web w formularzu. Po kliknięciu linku możesz zmienić jego kolor, aby wskazać, że link został odwiedzony. Aby uzyskać więcej informacji na temat zmiany koloru, zobacz Jak zmienić wygląd kontrolki LinkLabel w Windows Forms.
Łączenie z innym formularzem
Aby połączyć się z innym formularzem za pomocą kontrolki LinkLabel
Ustaw właściwość Text na odpowiedni podpis.
Ustaw właściwość LinkArea, aby określić, która część podpisu będzie wskazywana jako link. Sposób jego wskazania zależy od właściwości związanych z wyglądem etykiety łącza. Wartość LinkArea jest reprezentowana przez obiekt LinkArea zawierający dwie liczby, pozycję znaku początkowego i liczbę znaków. Właściwość LinkArea można ustawić w oknie Właściwości lub w kodzie w sposób podobny do następującego:
' 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);
W procedurze obsługi zdarzeń LinkClicked wywołaj metodę Show, aby otworzyć inny formularz w projekcie, i ustaw właściwość LinkVisited na
true
.Notatka
Wystąpienie klasy LinkLabelLinkClickedEventArgs prowadzi odwołanie do klikniętej kontrolki LinkLabel, więc nie ma potrzeby rzutowania obiektu
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; }
Łączenie ze stroną sieci Web
Kontrolka LinkLabel może być również używana do wyświetlania strony sieci Web z domyślną przeglądarką.
Aby uruchomić program Internet Explorer i połączyć się ze stroną sieci Web za pomocą kontrolki LinkLabel
Ustaw właściwość Text na odpowiedni podpis.
Ustaw właściwość LinkArea, aby określić, która część podpisu będzie wskazywana jako link.
W programie obsługi zdarzeń LinkClicked w środku bloku obsługi wyjątków wywołaj drugą procedurę, która ustawia właściwość LinkVisited na
true
i używa metody Start, aby uruchomić domyślną przeglądarkę przy użyciu adresu URL. Aby użyć metody Start, należy dodać odwołanie do przestrzeni nazw System.Diagnostics.Ważny
Jeśli poniższy kod jest uruchamiany w środowisku o ograniczonym zaufaniu (na przykład na dysku udostępnionym), kompilator JIT zawodzi, gdy zostanie wywołana metoda
VisitLink
. InstrukcjaSystem.Diagnostics.Process.Start
powoduje niepowodzenie żądania łącza. Przechwytując wyjątek podczas wywoływania metodyVisitLink
, poniższy kod gwarantuje, że jeśli kompilator JIT ulegnie awarii, błąd zostanie obsłużony bezpiecznie.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"); }
Zobacz też
.NET Desktop feedback