方法 : Windows フォーム LinkLabel コントロールでオブジェクトまたは Web ページにリンクする
更新 : 2007 年 11 月
Windows フォーム LinkLabel コントロールを使用すると、フォーム上に Web スタイルのリンクを作成できます。リンクをクリックしたときに、そのリンクにアクセスしたことがわかるように色を変更できます。色の変更の詳細については、「方法 : Windows フォーム LinkLabel コントロールの表示形式を変更する」を参照してください。
別のフォームへのリンク
LinkLabel コントロールによって、別のフォームにリンクするには
Text プロパティに適切なキャプションを設定します。
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);
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 ページにリンクするには
Text プロパティに適切なキャプションを設定します。
LinkArea プロパティを設定して、キャプションのどの部分をリンクとして表示するかを指定します。
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 コントロールの表示形式を変更する
参照
LinkLabel コントロールの概要 (Windows フォーム)