次の方法で共有


LinkLabel.LinkCollection.Add メソッド

定義

コレクションへのリンクを追加します。

オーバーロード

名前 説明
Add(LinkLabel+Link)

指定した値を持つリンクをコレクションに追加します。

Add(Int32, Int32)

コレクションへのリンクを追加します。

Add(Int32, Int32, Object)

リンクに関連付ける情報を含むリンクをコレクションに追加します。

Add(LinkLabel+Link)

ソース:
LinkLabel.LinkCollection.cs
ソース:
LinkLabel.LinkCollection.cs
ソース:
LinkLabel.LinkCollection.cs
ソース:
LinkLabel.LinkCollection.cs
ソース:
LinkLabel.LinkCollection.cs

指定した値を持つリンクをコレクションに追加します。

public:
 int Add(System::Windows::Forms::LinkLabel::Link ^ value);
public int Add(System.Windows.Forms.LinkLabel.Link value);
member this.Add : System.Windows.Forms.LinkLabel.Link -> int
Public Function Add (value As LinkLabel.Link) As Integer

パラメーター

value
LinkLabel.Link

追加するリンクを表す LinkLabel.Link

戻り値

value パラメーターで指定されたリンクがコレクション内にある 0 から始まるインデックス。

適用対象

Add(Int32, Int32)

ソース:
LinkLabel.LinkCollection.cs
ソース:
LinkLabel.LinkCollection.cs
ソース:
LinkLabel.LinkCollection.cs
ソース:
LinkLabel.LinkCollection.cs
ソース:
LinkLabel.LinkCollection.cs

コレクションへのリンクを追加します。

public:
 System::Windows::Forms::LinkLabel::Link ^ Add(int start, int length);
public System.Windows.Forms.LinkLabel.Link Add(int start, int length);
member this.Add : int * int -> System.Windows.Forms.LinkLabel.Link
Public Function Add (start As Integer, length As Integer) As LinkLabel.Link

パラメーター

start
Int32

リンクが作成されるラベルのテキスト内の開始文字。

length
Int32

リンク テキストに含める開始文字の後の文字数。

戻り値

作成され、コレクションに追加されたリンクを表す LinkLabel.Link

次の例では、LinkBehavior列挙型を使用してLinkBehavior プロパティを設定する方法を示します。 また、 ActiveLinkColorLinkColorTextLinkVisited プロパティの設定、および LinkLabel.LinkCollectionへの項目の追加についても説明します。 この例を実行するには、空のフォームに貼り付け、フォームのコンストラクターまたはLoad メソッドからInitializeLinkLabelを呼び出します。

   // Declare the LinkLabel object.
internal:
   System::Windows::Forms::LinkLabel^ LinkLabel1;

   // Declare keywords array to identify links
   array<String^>^keywords;

private:
   void InitializeLinkLabel()
   {
      this->LinkLabel1 = gcnew System::Windows::Forms::LinkLabel;
      this->LinkLabel1->Links->Clear();
      // Set the location, name and size.
      this->LinkLabel1->Location = System::Drawing::Point( 10, 20 );
      this->LinkLabel1->Name = "CompanyLinks";
      this->LinkLabel1->Size = System::Drawing::Size( 104, 150 );
      
      // Set the LinkBehavior property to show underline when mouse
      // hovers over the links.
      this->LinkLabel1->LinkBehavior = System::Windows::Forms::LinkBehavior::HoverUnderline;
      String^ textString = "For more information see our"
      " company website or the research page at Contoso Ltd. ";
      
      // Set the text property.
      this->LinkLabel1->Text = textString;
      
      // Set the color of the links to black, unless the mouse
      // is hovering over a link.
      this->LinkLabel1->LinkColor = System::Drawing::Color::Black;
      this->LinkLabel1->ActiveLinkColor = System::Drawing::Color::Blue;
      
      // Associate the event-handling method with the LinkClicked
      // event.
      this->LinkLabel1->LinkClicked += gcnew LinkLabelLinkClickedEventHandler( this, &Form1::LinkLabel1_LinkClicked );
      
      // Add links to the LinkCollection using starting index and
      // length of keywords.
      array<String^>^temp0 = {"company","research"};
      keywords = temp0;
      System::Collections::IEnumerator^ myEnum = keywords->GetEnumerator();
      while ( myEnum->MoveNext() )
      {
         String^ keyword = safe_cast<String^>(myEnum->Current);
         this->LinkLabel1->Links->Add( textString->IndexOf( keyword ), keyword->Length );
      }

      
      // Add the label to the form.
      this->Controls->Add( this->LinkLabel1 );
   }

   void LinkLabel1_LinkClicked( Object^ /*sender*/, LinkLabelLinkClickedEventArgs^ e )
   {
      String^ url = "";
      
      // Determine which link was clicked and set the appropriate url.
      switch ( LinkLabel1->Links->IndexOf( e->Link ) )
      {
         case 0:
            url = "www.microsoft.com";
            break;

         case 1:
            url = "www.contoso.com/research";
            break;
      }
      
      // Set the visited property to True. This will change
      // the color of the link.
      e->Link->Visited = true;
      
      // Open Internet Explorer to the correct url.
      System::Diagnostics::Process::Start( "IExplore.exe", url );
   }

// Declare the LinkLabel object.
internal System.Windows.Forms.LinkLabel LinkLabel1;

// Declare keywords array to identify links
string[] keywords;

private void InitializeLinkLabel()
{
    this.LinkLabel1 = new System.Windows.Forms.LinkLabel();
            this.LinkLabel1.Links.Clear();

    // Set the location, name and size.
    this.LinkLabel1.Location = new System.Drawing.Point(10, 20);
    this.LinkLabel1.Name = "CompanyLinks";
    this.LinkLabel1.Size = new System.Drawing.Size(104, 150);

    // Set the LinkBehavior property to show underline when mouse
    // hovers over the links.
    this.LinkLabel1.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline;
    string textString = "For more information see our" +
        " company website or the research page at Contoso Ltd. ";

    // Set the text property.
    this.LinkLabel1.Text = textString;

    // Set the color of the links to black, unless the mouse
    // is hovering over a link.
    this.LinkLabel1.LinkColor = System.Drawing.Color.Black;
    this.LinkLabel1.ActiveLinkColor = System.Drawing.Color.Blue;

    // Associate the event-handling method with the LinkClicked
    // event.
    this.LinkLabel1.LinkClicked += 
        new LinkLabelLinkClickedEventHandler(LinkLabel1_LinkClicked);

    // Add links to the LinkCollection using starting index and
    // length of keywords.
    keywords = new string[]{"company", "research"};
    foreach ( string keyword in keywords )
    {
        this.LinkLabel1.Links.Add(textString.IndexOf(keyword), keyword.Length);
    }

    // Add the label to the form.
    this.Controls.Add(this.LinkLabel1);
}

private void LinkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{

    string url = "";

    // Determine which link was clicked and set the appropriate url.
    switch(LinkLabel1.Links.IndexOf(e.Link))
    {
        case 0:
            url = "www.microsoft.com";

            break;
        case 1:
            url = "www.contoso.com/research";
            break;
    }

    // Set the visited property to True. This will change
    // the color of the link.
    e.Link.Visited = true;

    // Open Internet Explorer to the correct url.
    System.Diagnostics.Process.Start("IExplore.exe", url);
}

' Declare the LinkLabel object.
Friend WithEvents LinkLabel1 As System.Windows.Forms.LinkLabel

' Declare keywords array to identify links
Dim keywords() As String

Private Sub InitializeLinkLabel()
    Me.LinkLabel1 = New System.Windows.Forms.LinkLabel
    Me.LinkLabel1.Links.Clear()
    ' Set the location, name and size.
    Me.LinkLabel1.Location = New System.Drawing.Point(10, 20)
    Me.LinkLabel1.Name = "CompanyLinks"
    Me.LinkLabel1.Size = New System.Drawing.Size(104, 150)

    ' Set the LinkBehavior property to show underline when mouse
    ' hovers over the links.
    Me.LinkLabel1.LinkBehavior = _
        System.Windows.Forms.LinkBehavior.HoverUnderline
    Dim textString As String = "For more information see our" & _
       " company website or the research page at Contoso Ltd. "

    ' Set the text property.
    Me.LinkLabel1.Text = textString

    ' Set the color of the links to black, unless the mouse
    ' is hovering over a link.
    Me.LinkLabel1.LinkColor = System.Drawing.Color.Black
    Me.LinkLabel1.ActiveLinkColor = System.Drawing.Color.Blue

    ' Add links to the LinkCollection using starting index and
    ' length of keywords.
    keywords = New String() {"company", "research"}
    Dim keyword As String
    For Each keyword In keywords
        Me.LinkLabel1.Links.Add(textString.IndexOf(keyword), keyword.Length)
    Next

    ' Add the label to the form.
    Me.Controls.Add(Me.LinkLabel1)
End Sub

Private Sub LinkLabel1_LinkClicked(ByVal sender As Object, _
    ByVal e As LinkLabelLinkClickedEventArgs) _
    Handles LinkLabel1.LinkClicked

    Dim url As String

    ' Determine which link was clicked and set the appropriate url.
    Select Case LinkLabel1.Links.IndexOf(e.Link)
        Case 0
            url = "www.microsoft.com"

        Case 1
            url = "www.contoso.com/research"
    End Select

    ' Set the visited property to True. This will change
    ' the color of the link.
    e.Link.Visited = True

    ' Open Internet Explorer to the correct url.
    System.Diagnostics.Process.Start("IExplore.exe", url)
End Sub

注釈

LinkLabel コントロールは、コントロールのテキスト内に複数のリンクを表示できます。 Add メソッドを使用すると、LinkLabel コントロール内のテキストを、ユーザーがクリックしてButton コントロールと同様のタスクを実行できるリンクに変換できます。 このメソッドは、LinkLabelLinkLabel.LinkCollectionに作成されたリンクを追加します。 たとえば、ラベル テキストに "quick" という単語 "Quick" を設定する場合は、 start パラメーターを 4 の値に設定し、 length パラメーターを 5 (5) に設定してこのメソッドを呼び出します。 その後、"quick" という単語がリンクに変更され、リンクがコレクションに追加されます。 表示する URL や、ユーザーがリンクをクリックしたときに開くファイルなど、リンクに情報を関連付ける場合は、他のバージョンの Add メソッドを使用します。

2 つのリンクで同じテキストを共有することはできません。 別のリンクで既に使用されているテキストを使用するリンクを作成すると、例外がスローされます。

適用対象

Add(Int32, Int32, Object)

ソース:
LinkLabel.LinkCollection.cs
ソース:
LinkLabel.LinkCollection.cs
ソース:
LinkLabel.LinkCollection.cs
ソース:
LinkLabel.LinkCollection.cs
ソース:
LinkLabel.LinkCollection.cs

リンクに関連付ける情報を含むリンクをコレクションに追加します。

public:
 System::Windows::Forms::LinkLabel::Link ^ Add(int start, int length, System::Object ^ linkData);
public System.Windows.Forms.LinkLabel.Link Add(int start, int length, object linkData);
public System.Windows.Forms.LinkLabel.Link Add(int start, int length, object? linkData);
member this.Add : int * int * obj -> System.Windows.Forms.LinkLabel.Link
Public Function Add (start As Integer, length As Integer, linkData As Object) As LinkLabel.Link

パラメーター

start
Int32

リンクが作成されるラベルのテキスト内の開始文字。

length
Int32

リンク テキストに含める開始文字の後の文字数。

linkData
Object

リンクに関連付ける情報を含むオブジェクト。

戻り値

作成され、コレクションに追加されたリンクを表す LinkLabel.Link

次のコード例では、リンクを表示する LinkLabel コントロールを作成し、コントロールのテキストで定義されているリンクがクリックされたときに、既定のブラウザーに Microsoft Web サイトを表示します。 この例では、 LinkLabel コントロールを初期化するメソッドと、コントロールの LinkClicked イベントを処理するメソッドを定義します。 LinkClicked イベントのイベント ハンドラーは、LinkLabel.Link クラスのLinkData プロパティを使用して、既定のブラウザーに表示する URL を決定します。 この例では、 Form クラス内に配置する必要があります。

   // Create a new LinkLabel control.
private:
   LinkLabel^ linkLabel1;

public:
   void InitializeMyLinkLabel()
   {
      // Set the control to autosize based on the text content.
      linkLabel1->AutoSize = true;

      // Position and size the control on the form.
      linkLabel1->Location = System::Drawing::Point( 8, 16 );
      linkLabel1->Size = System::Drawing::Size( 135, 13 );

      // Set the text to display in the label.
      linkLabel1->Text = "Click here to get more info.";

      // Create a new link using the Add method of the LinkCollection class.
      linkLabel1->Links->Add( 6, 4, "www.microsoft.com" );

      // Create an event handler for the LinkClicked event.
      linkLabel1->LinkClicked += gcnew System::Windows::Forms::LinkLabelLinkClickedEventHandler( this, &Form1::linkLabel1_LinkClicked );

      // Add the control to the form.
      this->Controls->Add( linkLabel1 );
   }

private:
   void linkLabel1_LinkClicked( Object^ /*sender*/, System::Windows::Forms::LinkLabelLinkClickedEventArgs^ e )
   {
      // Determine which link was clicked within the LinkLabel.
      linkLabel1->Links[ linkLabel1->Links->IndexOf( e->Link ) ]->Visited = true;

      // Display the appropriate link based on the value of the LinkData property of the Link object.
      System::Diagnostics::Process::Start( e->Link->LinkData->ToString() );
   }
// Create a new LinkLabel control.
  private LinkLabel linkLabel1 = new LinkLabel();
  
  public void InitializeMyLinkLabel()
  {
      
      // Set the control to autosize based on the text content.
      linkLabel1.AutoSize = true;
      // Position and size the control on the form.
      linkLabel1.Location = new System.Drawing.Point(8,16);
      linkLabel1.Size = new System.Drawing.Size(135,13);
      // Set the text to display in the label.
      linkLabel1.Text = "Click here to get more info.";

      // Create a new link using the Add method of the LinkCollection class.
      linkLabel1.Links.Add(6,4,"www.microsoft.com");

      // Create an event handler for the LinkClicked event.
      linkLabel1.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel1_LinkClicked);

      // Add the control to the form.
      this.Controls.Add(linkLabel1);
  }

  private void linkLabel1_LinkClicked(object sender, System.Windows.Forms.LinkLabelLinkClickedEventArgs e)
  {
      // Determine which link was clicked within the LinkLabel.
      linkLabel1.Links[linkLabel1.Links.IndexOf(e.Link)].Visited = true;
      // Display the appropriate link based on the value of the LinkData property of the Link object.
      System.Diagnostics.Process.Start(e.Link.LinkData.ToString());
  }
' Create a new LinkLabel control.
Private linkLabel1 As New LinkLabel()


Public Sub InitializeMyLinkLabel()
    
    ' Set the control to autosize based on the text content.
    linkLabel1.AutoSize = True
    ' Position and size the control on the form.
    linkLabel1.Location = New System.Drawing.Point(8, 16)
    linkLabel1.Size = New System.Drawing.Size(135, 13)
    ' Set the text to display in the label.
    linkLabel1.Text = "Click here to get more info."
    
    ' Create a new link using the Add method of the LinkCollection class.
    linkLabel1.Links.Add(6, 4, "www.microsoft.com")
    
    ' Create an event handler for the LinkClicked event.
    AddHandler linkLabel1.LinkClicked, AddressOf Me.linkLabel1_LinkClicked
    
    ' Add the control to the form.
    Me.Controls.Add(linkLabel1)
End Sub


Private Sub linkLabel1_LinkClicked(sender As Object, e As System.Windows.Forms.LinkLabelLinkClickedEventArgs)
    ' Determine which link was clicked within the LinkLabel.
    linkLabel1.Links(linkLabel1.Links.IndexOf(e.Link)).Visited = True
    ' Display the appropriate link based on the value of the LinkData property of the Link object.
    System.Diagnostics.Process.Start(e.Link.LinkData.ToString())
End Sub

注釈

LinkLabel コントロールは、コントロールのテキスト内に複数のリンクを表示できます。 Add メソッドを使用すると、LinkLabel コントロール内のテキストを、ユーザーがクリックしてButton コントロールと同様のタスクを実行できるリンクに変換できます。 このメソッドは、LinkLabelLinkLabel.LinkCollectionに作成されたリンクを追加します。 たとえば、ラベル テキストに "quick" という単語 "Quick" を設定する場合は、 start パラメーターを 4 の値に設定し、 length パラメーターを 5 (5) に設定してこのメソッドを呼び出します。 その後、"quick" という単語がリンクに変更され、リンクがコレクションに追加されます。 このバージョンの Add メソッドを使用すると、 linkData パラメーターを使用してリンクに関連付けることができる追加情報を提供できます。 たとえば、リンクがクリックされたときに表示する URL を含む linkData パラメーターにStringを渡すことができます。 その後、LinkLabel コントロールのLinkClicked イベントのハンドラーでこの情報を使用して、ブラウザーに URL を表示できます。

2 つのリンクで同じテキストを共有することはできません。 別のリンクで既に使用されているテキストを使用するリンクを作成すると、例外がスローされます。

適用対象