方法 : Windows フォーム LinkLabel コントロールでオブジェクトまたは Web ページにリンクする

更新 : 2007 年 11 月

Windows フォーム LinkLabel コントロールを使用すると、フォーム上に Web スタイルのリンクを作成できます。リンクをクリックしたときに、そのリンクにアクセスしたことがわかるように色を変更できます。色の変更の詳細については、「方法 : Windows フォーム LinkLabel コントロールの表示形式を変更する」を参照してください。

別のフォームへのリンク

LinkLabel コントロールによって、別のフォームにリンクするには

  1. Text プロパティに適切なキャプションを設定します。

  2. LinkArea プロパティを設定して、キャプションのどの部分をリンクとして表示するかを指定します。どのように表示するかは、リンク ラベルの表示形式に関連するプロパティによって異なります。LinkArea の値は、LinkArea オブジェクトで表されます。このオブジェクトには、文字の開始位置と文字数を示す 2 つの数字が含まれています。LinkArea プロパティは、[プロパティ] ウィンドウで、または次のような方法でコード内で設定できます。

    ' 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 イベント ハンドラで、Show メソッドを呼び出してプロジェクトで別のフォームを開き、LinkVisited プロパティを true に設定します。

    メモ :

    クリックされた LinkLabel コントロールへの参照が LinkLabelLinkClickedEventArgs クラスのインスタンスに含まれているため、 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;
       }
    

Web ページへのリンク

LinkLabel コントロールを使用すると、既定のブラウザで Web ページを表示することもできます。

Internet Explorer を起動し、LinkLabel コントロールによって Web ページにリンクするには

  1. Text プロパティに適切なキャプションを設定します。

  2. LinkArea プロパティを設定して、キャプションのどの部分をリンクとして表示するかを指定します。

  3. LinkClicked イベント ハンドラの例外処理ブロック内で第 2 のプロシージャを呼び出します。このプロシージャでは、LinkVisited プロパティを true に設定し、Start メソッドを使用して既定のブラウザを該当の URL で起動します。Start メソッドを使用するには、System.Diagnostics 名前空間への参照を追加する必要があります。

    セキュリティに関するメモ :

    部分的に信頼できる環境 (共有ドライブなど) で次のコードを実行した場合、VisitLink メソッドの呼び出し時に JIT コンパイラでエラーが発生します。System.Diagnostics.Process.Start ステートメントにより、エラーの原因となるリンク要求が行われます。VisitLink メソッドの呼び出し時に例外をキャッチすると、次のコードで JIT コンパイラのエラーが発生しても正常に処理されるようになります。

    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("https://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("https://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("https://www.microsoft.com");
       }
    

参照

処理手順

方法 : Windows フォーム LinkLabel コントロールの表示形式を変更する

参照

Process.Start

LinkLabel コントロールの概要 (Windows フォーム)

その他の技術情報

LinkLabel コントロール (Windows フォーム)